Bài tập tổng quát - quản lý mảng số nguyên - Lập trình C
Trong hàm main khai báo các biến sau.
- Mảng số nguyên dataList có số phần tử tối đa là 100 phần tử
Yêu cầu thiết kế menu chương trình sau
1. Nhập vào số nguyên x => thêm vào mảng dataList
2. Sắp xếp theo thứ tự tăng dần
3. Tìm kiếm phần tử trong mảng
4. Xoá phần tử trong mảng
5. Hiển thị
6. Thoát
- Khi người dùng chọn 1: hỏi người dùng nhập vào biến x => thêm vào mảng dataList
- Khi người dùng chọn 2: Sắp xếp mảng dataList theo thứ tự tăng dần và hiển thị ra màn hình
- Khi người dùng chọn 3: Hỏi người dùng nhập số cần tìm => hiển thị ra số phần tử tìm đc trong mảng dataList có giá trị bằng giá trị vừa nhập vào
- Khi người dùng chọn 4: Hỏi người dùng nhập vào số cần xoá => Yêu cầu xoá tất cả các giá trị có giá trị bằng vs biến vừa nhập vào.
- Khi người dùng chọn 5: Hiển thị danh sách các phần tử
- Khi người dùng chọn 6: Thoát
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)
![Nguyễn Hải Long [community,C2110I]](https://www.gravatar.com/avatar/2cd1d83041f51259c4caf4f7b97890e2.jpg?s=80&d=mm&r=g)
Nguyễn Hải Long
2021-12-01 07:18:47
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int datalist[100];
int n=0;
int select;
printf("\n Chon ");
int i,j,t;
do{
printf("\n1.Nhap vao so nguyen x");
printf("\n2.Sap xep theo thu tu tang dan");
printf("\n3.Tim kiem phan tu trong mang");
printf("\n4.Xoa phan tu trong mang");
printf("\n5.Hien thi");
printf("\n6.Thoat \n");
scanf("%d",&select);
switch(select){
case 1:{
printf("\nNhap vao so nguyen x =");
scanf("%d", &datalist[n++]);
break;
}
case 2:{
for( i=0;i<n;i++){
for( j=i;j<n;j++){
if(datalist[i]>datalist[j]){
t=datalist[i];
datalist[i]= datalist[j];
datalist[j]=t;
}
}
}
printf("\nThu tu tang dan cua cac phan tu trong mang :");
for(i=0;i<n;i++)
printf("%d ",datalist[i]);
printf("\n");
break;
}
case 3:{printf("\nNhap phan tu can tim:");
scanf("%d",&t);
int cout=0;
for(i=0;i<n;i++){
if(t==datalist[i])
cout++;}
printf("%d", cout);
break;
}
case 4:{printf("\nNhap phan tu can xoa:");
scanf("%d",&t);
int cout=0;
for(i=0;i<n;i++){
if(t==datalist[i]){
datalist[i]=9999999;
cout++;}}
printf("%d", cout);
for( i=0;i<n;i++){
for( j=i;j<n;j++){
if(datalist[i]>datalist[j]){
t=datalist[i];
datalist[i]= datalist[j];
datalist[j]=t;
}}}
n=n-cout;
break;
}
case 5:{
for(i=0;i<n;i++)
printf("%d ",datalist[i]);
printf("\n");
break;
}
case 6:{ return;
break;
}
}
}while(n!=6);
return 0;
}
![TRẦN VĂN ĐIỆP [Teacher]](https://www.gravatar.com/avatar/fc6ba9324e017d540af3613b3a77dd21.jpg?s=80&d=mm&r=g)
TRẦN VĂN ĐIỆP
2020-12-21 01:50:18
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void showMenu();
void find(int dataList[100], int currentIndex);
int main(int argc, char *argv[]) {
int dataList[100];
int currentIndex = -1;
int choose, i, j;
int tmpList[100];
int tmpIndex = -1;
int del;
do {
showMenu();
scanf("%d", &choose);
switch(choose) {
case 1:
currentIndex++;//length: currentIndex + 1
printf("\nNhap phan tu thu %d: ", currentIndex);
scanf("%d", &dataList[currentIndex]);
break;
case 2:
//dataList: 5, 2, 7, 1, 9 => sap xep tang dan
for(i=0;i<currentIndex;i++) {
for(j=i+1;j<=currentIndex;j++) {
if(dataList[i] > dataList[j]) {
//swap => doi cho 2 phan tu
int tmp = dataList[i];
dataList[i] = dataList[j];
dataList[j] = tmp;
}
}
}
break;
case 3:
find(dataList, currentIndex);
break;
case 4:
tmpIndex = -1;
printf("\nNhap phan tu can xoa: ");
scanf("%d", &del);
for(i=0;i<=currentIndex;i++) {
if(dataList[i] != del) {
tmpList[++tmpIndex] = dataList[i];
}
}
//tmpList => chua danh sach cac phan tu con lai cua mang.
currentIndex = tmpIndex;
for(i=0;i<=currentIndex;i++) {
dataList[i] = tmpList[i];
}
break;
case 5:
printf("\nDanh sach cac phan tu trong mang\n");
for(i=0;i<=currentIndex;i++) {
printf("%d, ", dataList[i]);
}
break;
case 6:
printf("\nGoodbye!!!");
break;
default:
printf("\nNhap sai!!!");
break;
}
} while(choose != 6);
return 0;
}
void find(int dataList[100], int currentIndex) {
printf("\nNhap so can tim: ");
int x, i, count = 0;
scanf("%d", &x);
for(i=0;i<=currentIndex;i++) {
if(dataList[i] == x) {
count++;
}
}
printf("\nSo phan tu tim duoc: %d", count);
}
void showMenu() {
printf("\n1. Nhap phan tu");
printf("\n2. Sap xep");
printf("\n3. Tim kiem");
printf("\n4. Xoa");
printf("\n5. Hien thi");
printf("\n6. Thoat");
printf("\nChon: ");
}