Bài ôn thi
unknown
c_cpp
9 months ago
3.9 kB
9
Indexable
#include<stdio.h>
//Ham Nhap Mang
void NhapMang(int a[], int &n)
{
printf("Moi ban nhap so ptu mang : ");
scanf("%d",&n);
// printf("Mang co ptu : %d", n); ( Test xem mang co loi ko )
for(int i=0; i<n; i++)
{
printf("Nhap ptu thu a[%d] : ",i);
scanf("%d",&a[i]);
}
}
//Ham Xuat Mang
void XuatMang(int a[], int n)
{
printf("\nXuat cac gtri trong mang : \n");
for(int i=0; i<n; i++)
{
printf(" %d ",a[i]);
}
printf("\n");
}
//Ham Tim Kiem Abao dep hon
void TimKiem(int a[], int socantim, int n)
{
bool timthay = timthay;
for(int i=0; i<n; i++)
{
if(a[i]==socantim)
{
printf("So %d can tim nam o vi tri a[%d]. \n",socantim, i);
timthay=true;
}
}
if(timthay==false)
{
printf("Khong tim thay so %d trong mang.",socantim);
}
}
//Ham Tim Kiem cach 2 sgk
int Tim(int a[], int n, int x)
{
for(int i=0; i<n; i++)
{
if(x==a[i])
{
return i;
}
}
return -1;
}
//Ham Xoa Ptu trong Mang ( cach 1 )
void XoaPtu(int a[], int &n, int socanxoa)
{
/*int vitri=Tim(a,n,socanxoa);
printf("\nso can xoa o a[%d] -> %d\n",vitri, a[vitri]);
for(int i=vitri; i<n-1; i++)
{
printf("a[%d]=%d thay bang a[%d]=%d\n", i, a[i], i+1, a[i+1]);
a[i]=a[i+1];
}
n-=1;*/
int vitri=Tim(a,n,socanxoa);
for(int i=vitri; i<n-1; i++)
{
a[i]=a[i+1];
}
n-=1;
}
//Ham Chen Phan Tu
void ChenPTu(int a[], int &n, int socanchen, int vitrichen)
{
for(int i=n; i>vitrichen; i--)
{
a[i]=a[i-1];
}
a[vitrichen]=socanchen;
n+=1;
}
// Ham sap xep mang bang thuat toan Bubble Sort
void bubbleSort(int arr[], int n) {
int i, j, temp;
// Vong lap ngoai: chay qua tung phan tu cua mang
for (i = 0; i < n - 1; i++) {
// Vong lap trong: so sanh va doi cho cac cap phan tu lien ke
for (j = 0; j < n - i - 1; j++) {
// Neu phan tu hien tai lon hon phan tu ke tiep
if (arr[j] > arr[j + 1]) {
// Doi cho hai phan tu
temp = arr[j]; // Luu gia tri phan tu hien tai vao bien tam
arr[j] = arr[j + 1]; // Gan phan tu ke tiep cho phan tu hien tai
arr[j + 1] = temp; // Gan gia tri bien tam cho phan tu ke tiep
}
}
}
}
//Ham Chinh va Goi Ten
int main()
{
int a[100]; //Khai bao mang a co 100ptu
int n=5;
NhapMang(a,n); //Goi ham Nhap Mang
XuatMang(a,n); //Goi ham Xuat Mang
int socantim; //Goi ham TimKiem
printf("\n");
printf("Moi ban nhap so can tim : "); //Nho ngta nhap so can tim
scanf("%d",&socantim);
// TimKiem(a,socantim,n); ( cach 1)
int vitri = Tim(a,n,socantim);
if(vitri==-1)
{
printf("Ko tim thay");
}
else
{
printf("Tim thay o vi tri a[%d]",vitri);
}
//Doi vi tri
int vitri1;
int vitri2;
vitri1=Tim(a,n,8);
vitri2=Tim(a,n,9);
int tam=a[vitri1];
a[vitri1]=a[vitri2];
a[vitri2]=tam;
XuatMang(a,n); //Goi lan 2 de xuat mang da doi vi tri
//Xoa
int socanxoa;
printf("Nhap so can xoa : ");
scanf("%d",&socanxoa);
printf("\n\nQua trinh xoa : ");
XoaPtu(a,n,socanxoa);
printf("\nSau khi xoa : ");
XuatMang(a,n); //Goi lan 3 de xuat mang da xoa ptu
//Chen
int socanchen;
int vitrichen;
printf("Moi nhap so can chen: ");
scanf("%d",&socanchen);
printf("Moi vi tri so can chen: ");
scanf("%d",&vitrichen);
ChenPTu(a,n,socanchen,vitrichen-1);
XuatMang(a,n);
//SapXep
bubbleSort(arr,n);
XuatMang(a,n);
}
Editor is loading...
Leave a Comment