background img

Bài Viết Mới

Hiển thị các bài đăng có nhãn thao tác trong mảng. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn thao tác trong mảng. Hiển thị tất cả bài đăng

Giới thiệu về C/C++


Đây là bài tập rất cơ bản khi các bạn học C/C++

- Vì sao tôi dùng chung từ khóa  "C/C++"  ? C++ được phát triển trên C, hầu hết các cú pháp  vẫn được sử dụng trong C++.

- Trong ví dụ dưới đây, tôi dùng VS Studio -> C++ Console

- Nếu bạn muốn code chạy được trên Bornland C hay Code Block . . . chỉ cần loại bỏ 1 vài từ khóa trong code chỉ dành cho C++ là được

 

Ví dụ này thực hiện việc:

- Nhập - Xuất mảng

 

- Chèn một phần tử vào vị trí bất kỳ

- Thêm mới . . .

- Xóa . . .

- Sắp xếp Tăng - Giảm
 
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <windows.h>
#define MAX 5 // defines the value of an element.

using namespace std; //Dung cho Cout / Cin

void themPhanTu(int a[], int &n)
{
do{
printf("\n Nhap so phan tu cua mang: ");
scanf("%d",&n);
if(n < 0 || n > 10)
printf("\n Tong so phan tu khong hop le !!!");
}
while(n<0 || n >10);
for(int i = 0; i < n; i ++)
{
printf("\n a[%d] :",i);
scanf("%d",&a[i]);
}
}
/* Print the array */
void xuatMang(int a[], int n)
{
for(int i = 0; i < n; i ++)
{
printf("\t%d ",a[i]);
}
}

/* Chen 1 phan tu vao vi tri bat ky */
void chenPhanTu(int a[], int n, int &ptsins , int &elmins )
{
printf("\n Enter the position to insert :");
scanf("%d",&ptsins);
printf("\n Enter the element to insert :");
scanf("%d",&elmins);
for(int i = 0; i < n; i ++)
{
if(i == ptsins && ptsins >= 0 && ptsins < n)
a[i]=elmins;
}

}

/* Them moi 1 phan tu vao vi tri bat ky*/
void themPhanTu(int a[],int &n,int &ptsadd,int &elmadd)
{
n++; //Tang len 1 vi tri
do{
printf("\n Enter the position to add :");
scanf("%d",&ptsadd);
if(ptsadd <0 || ptsadd >= n);
}
while(ptsadd <0 || ptsadd >= n);
printf("\n Enter the element to add :");
scanf("%d",&elmadd);
int i;
if(ptsadd < n)
{
for( i=n-1; i > ptsadd;i--)
{
a[i]=a[i-1];

}
for(i =0; i<n; i++)
{
if(i == ptsadd && ptsadd >= 0 && ptsadd < n)
a[i]=elmadd;
//break;
}
xuatMang(a,n);
}
else if(ptsadd > n-1&& ptsadd<n+1)
{
a[n-1]= elmadd;
xuatMang(a,n);

}
}
void xoaPhanTu(int a[], int &n)
{
n--; // Giam di 1 vi tri.
int vt;
do{
printf("\nNhap vi tri muon xoa: ");
scanf("%d",&vt);
if(vt <0 || vt >= n);
}
while(vt <0 || vt > n);

for(int i=0; i < n; i++)
{
if(i==vt)
{
a[i] = NULL;
}
if(vt ==0)
{
a[i] = NULL;
break;
}
if(vt == n -1)
{
a[n-1] = NULL;
break;
}
}
for(int i = vt; i < n; i ++)
{
a[i]=a[i+1];
}
xuatMang(a,n);
}
void sortArray(int a[], int n, int mode = 0)
{
for(int i = 0; i < n-1; i ++)
for(int j=i+1;j<n;j++)
if(a[i]>a[j] == mode)
{
int temp = a[i];
a[i]=a[j];
a[j] = temp;
}
}
/*Menu*/
int menu(int a[], int n)
{
//clrscr();
system("cls");
printf("Current array is: \n");
xuatMang(a,n);
printf("\n");
//textcolor(CYAN);
printf("-------------------------------------------------------\n");
printf(" 1.Chen 1 phan tu vao vi tri bat ky \n");
printf(" 2.Them phan tu tai vi tri bat ky\n");
printf(" 3.Xoa 1 phan tu tai vi tri bat ky\n");
printf(" 4.Sap xep mang tang dan\n");
printf(" 5.Sap xep mang giam dan\n");
printf(" ------------------------------------------\n");
printf(" 9.Information\n");
printf(" 0.Exit\n\n");
printf(" Chon chuc nang so: ");
int choice;
scanf("%d",&choice);
return choice;
}
void main()
{
//clrscr();
system("cls");
int choice;
int a[MAX];
int n;
int ptsins;
int elmins;
int elmadd;
int ptsadd;
int vt;
themPhanTu(a,n);
while(1)
{
//textcolor(GREEN); //Color: CYAN, RED, BLUE, MAGENTA v.v...
choice=menu(a,n);
switch (choice)
{
case 1: chenPhanTu(a,n,ptsins,elmins);xuatMang(a,n); break;
case 2: themPhanTu(a,n,ptsadd, elmadd);break;
case 3: xoaPhanTu(a,n) ;break;
case 4: sortArray(a,n,1);xuatMang(a,n);break; // 1 is ascending
case 5: sortArray(a,n,0);xuatMang(a,n);break; //0 is descending
}
if(choice==0)break;
getch();
}
}

 
Nguồn: Tự Học IT Online - http://tuhocit.net

Chèn - Thêm - Xóa Trong Mảng 1 Chiều [C/C++ Basic]

Giới thiệu về C/C++


Đây là bài tập rất cơ bản khi các bạn học C/C++

- Vì sao tôi dùng chung từ khóa  "C/C++"  ? C++ được phát triển trên C, hầu hết các cú pháp  vẫn được sử dụng trong C++.

- Trong ví dụ dưới đây, tôi dùng VS Studio -> C++ Console

- Nếu bạn muốn code chạy được trên Bornland C hay Code Block . . . chỉ cần loại bỏ 1 vài từ khóa trong code chỉ dành cho C++ là được

 

Ví dụ này thực hiện việc:

- Nhập - Xuất mảng

 

- Chèn một phần tử vào vị trí bất kỳ

- Thêm mới . . .

- Xóa . . .

- Sắp xếp Tăng - Giảm
 
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <windows.h>
#define MAX 5 // defines the value of an element.

using namespace std; //Dung cho Cout / Cin

void themPhanTu(int a[], int &n)
{
do{
printf("\n Nhap so phan tu cua mang: ");
scanf("%d",&n);
if(n < 0 || n > 10)
printf("\n Tong so phan tu khong hop le !!!");
}
while(n<0 || n >10);
for(int i = 0; i < n; i ++)
{
printf("\n a[%d] :",i);
scanf("%d",&a[i]);
}
}
/* Print the array */
void xuatMang(int a[], int n)
{
for(int i = 0; i < n; i ++)
{
printf("\t%d ",a[i]);
}
}

/* Chen 1 phan tu vao vi tri bat ky */
void chenPhanTu(int a[], int n, int &ptsins , int &elmins )
{
printf("\n Enter the position to insert :");
scanf("%d",&ptsins);
printf("\n Enter the element to insert :");
scanf("%d",&elmins);
for(int i = 0; i < n; i ++)
{
if(i == ptsins && ptsins >= 0 && ptsins < n)
a[i]=elmins;
}

}

/* Them moi 1 phan tu vao vi tri bat ky*/
void themPhanTu(int a[],int &n,int &ptsadd,int &elmadd)
{
n++; //Tang len 1 vi tri
do{
printf("\n Enter the position to add :");
scanf("%d",&ptsadd);
if(ptsadd <0 || ptsadd >= n);
}
while(ptsadd <0 || ptsadd >= n);
printf("\n Enter the element to add :");
scanf("%d",&elmadd);
int i;
if(ptsadd < n)
{
for( i=n-1; i > ptsadd;i--)
{
a[i]=a[i-1];

}
for(i =0; i<n; i++)
{
if(i == ptsadd && ptsadd >= 0 && ptsadd < n)
a[i]=elmadd;
//break;
}
xuatMang(a,n);
}
else if(ptsadd > n-1&& ptsadd<n+1)
{
a[n-1]= elmadd;
xuatMang(a,n);

}
}
void xoaPhanTu(int a[], int &n)
{
n--; // Giam di 1 vi tri.
int vt;
do{
printf("\nNhap vi tri muon xoa: ");
scanf("%d",&vt);
if(vt <0 || vt >= n);
}
while(vt <0 || vt > n);

for(int i=0; i < n; i++)
{
if(i==vt)
{
a[i] = NULL;
}
if(vt ==0)
{
a[i] = NULL;
break;
}
if(vt == n -1)
{
a[n-1] = NULL;
break;
}
}
for(int i = vt; i < n; i ++)
{
a[i]=a[i+1];
}
xuatMang(a,n);
}
void sortArray(int a[], int n, int mode = 0)
{
for(int i = 0; i < n-1; i ++)
for(int j=i+1;j<n;j++)
if(a[i]>a[j] == mode)
{
int temp = a[i];
a[i]=a[j];
a[j] = temp;
}
}
/*Menu*/
int menu(int a[], int n)
{
//clrscr();
system("cls");
printf("Current array is: \n");
xuatMang(a,n);
printf("\n");
//textcolor(CYAN);
printf("-------------------------------------------------------\n");
printf(" 1.Chen 1 phan tu vao vi tri bat ky \n");
printf(" 2.Them phan tu tai vi tri bat ky\n");
printf(" 3.Xoa 1 phan tu tai vi tri bat ky\n");
printf(" 4.Sap xep mang tang dan\n");
printf(" 5.Sap xep mang giam dan\n");
printf(" ------------------------------------------\n");
printf(" 9.Information\n");
printf(" 0.Exit\n\n");
printf(" Chon chuc nang so: ");
int choice;
scanf("%d",&choice);
return choice;
}
void main()
{
//clrscr();
system("cls");
int choice;
int a[MAX];
int n;
int ptsins;
int elmins;
int elmadd;
int ptsadd;
int vt;
themPhanTu(a,n);
while(1)
{
//textcolor(GREEN); //Color: CYAN, RED, BLUE, MAGENTA v.v...
choice=menu(a,n);
switch (choice)
{
case 1: chenPhanTu(a,n,ptsins,elmins);xuatMang(a,n); break;
case 2: themPhanTu(a,n,ptsadd, elmadd);break;
case 3: xoaPhanTu(a,n) ;break;
case 4: sortArray(a,n,1);xuatMang(a,n);break; // 1 is ascending
case 5: sortArray(a,n,0);xuatMang(a,n);break; //0 is descending
}
if(choice==0)break;
getch();
}
}

 
Nguồn: Tự Học IT Online - http://tuhocit.net

Xem Nhiều