IMG-LOGO
×

Tài Liệu Học

Khoá học lập trình C/C++ Dành cho người mới bắt đầu.

Cài đặt môi trường & tạo dự án đầu tiên

[Video] - Nhập môn cho người mới bắt đầu - Lập trình C [Video] Flowchart & ví dụ viết flowchart của phương trình bậc 1 - Lập Trình C [Video] Hướng dẫn cài đặt môi trường lập trình C - Lập trình C [Video] Tìm hiểu biến & kiểu dữ liệu trong C - Lập trình C

Nhập xuất dữ liệu từ bàn phím

[Video] Toán tử & biểu thức login trong C - Lập Trinh C [Video] Nhập dữ liệu trong C (scanf, printf) - Lập trình C [Video] Nhập xuất dữ liệu phần 2 - Lập Trình C

Mệnh đề điều kiện

[Video] Tìm hiểu if, else, switch trong lập trình C - Lập Trình C

Vòng lặp (for, while, do .. while)

[Video] Tìm hiểu về vòng lặp for trong C - Lập trình C [Video] Tìm hiểu while, do..while trong lập trình C - lập Trình C [Video] - Hướng dẫn chữa bài Fibonaci - Lập Trình C

Mảng trong C & ôn tập

[Video] Tìm hiểu mảng 1 chiều trong C - Lập trình C [Video] Tìm hiểu mảng 2 chiều - Lập Trình C

Pointer

[Video] Tìm hiểu pointer phần 1 - Lập Trình C [Video] Tìm hiểu pointer phần 2 - Lập Trình C [Video] Tìm hiểu pointer phần 3 - Lập trình C [Video] Ôn luyện - Sắp xếp trong C, con trỏ cấp phát động

Function & String & Struct & File

[Video] Tìm hiểu function trong lập trình C - Lập Trình C [Video] Tìm hiểu string trong lập trình C - Lập Trình C [Video] Tìm hiểu Struct trong C | Khóa học lập trình C

Ôn tập tổng quát C

[Video] Hướng dẫn chừa bài tập quản lý rạp chiều phím - Lập trình C [Video] Chương trình quản lý tỷ phú bằng C | Khóa học lập trình C 1000 Bài tập C - Lập Trình C

Cấu Trúc Dữ Liệu & Giải Thuật

Phần 1 | Mở đầu cầu trúc dữ liệu & giải thuật là gì? | Khoá học cấu trúc dữ liệu & giải thuật




Trang Chủ Lập Trình C [Video] Bài tập tổng quát - quản lý mảng số nguyên - Lập trình C

[Video] Bài tập tổng quát - quản lý mảng số nguyên - Lập trình C

by GokiSoft.com - 15:09 03/12/2021 1,199 Lượt Xem

Bài tập tổng quát - quản lý mảng số nguyên - Lập trình C



#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[]) {
	//Khai bao mang so nguyen -> max = 100
	int dataList[100];
	int count = 0; //Luu so phan tu hien tai cua mang
	int choose; //lay ket qua lua chon cua nguoi dung
	
	int x, i, j;
	
	do {
		printf("\n1. Them phan tu moi");
		printf("\n2. Sap xep theo thu tu tang dan");
		printf("\n3. Tim kiem");
		printf("\n4. Xoa phan tu trong mang");
		printf("\n5. Hien thi");
		printf("\n6. Thoat");
		printf("\nChon: ");
		scanf("%d", &choose);
		
		switch(choose) {
			case 1: {
				printf("\nNhap gia tri can them x = ");
				scanf("%d", &x);
				//Them vao mang nhu the nao
				//dataList[count] = x;
				//count++;//so phan tu trong mang tang len 1 don vi
				
				//Cach viet ngan ngon
				dataList[count++] = x;
				break;
			}
			case 2: {
				//So phan tu trong mang -> count -> chu y khong phai la 100
				//Sap xep cac phan tu trong mang tu 0 -> count
				//1, 5, 2, 10, 22, 3 -> 1, 2, 3, 5, 10, 22 -> Xu ly nhu the nao???
				for(i=0;i<count-1;i++) {
					//Tuong ung vs tung gia tri cua i
					for(j=i+1;j<count;j++) {
						//so sanh tu vi tri i vs j
						if(dataList[i] > dataList[j]) {
							//Vi tri sap xep chua dung -> can doi cho
							//Bai toan doi cho
							int tmp = dataList[i];
							dataList[i] = dataList[j];
							dataList[j] = tmp;
						}
					}
				}
				printf("\nSap xep thanh cong!!!");
				break;
			}
			case 3: {
				printf("\nNhap gia tri can tim: ");
				scanf("%d", &x);
				int findCount = 0;
				
				for(i=0;i<count;i++) {
					if(dataList[i] == x) {
						findCount++;
					}
				}
				
				if(findCount > 0) {
					printf("\nSo phan tu tim duoc: %d", findCount);
				} else {
					printf("\nKhong tim thay phan tu nao");
				}
				break;
			}
			case 4: {
				printf("\nNhap gia tri can xoa: ");
				scanf("%d", &x);
				
				for(i=0;i<count;i++) {
					if(dataList[i] == x) {
						//Tim thay vi tri xoa phan tu
						//don mang -> i + 1 -> i, i+2 -> i + 1, ... count --
						for(j=i+1;j<count;j++) {
							dataList[j-1] = dataList[j];
						}
						count--;
						i--;
					}
				}
				break;
			}
			case 5: {
				printf("\nDanh sach phan tu trong mang");
				for(i=0;i<count;i++) {
					printf("\n%d", dataList[i]);
				}
				break;
			}
			case 6: {
				printf("\nThoat chuong trinh");
				break;
			}
			default: {
				printf("\nNhap sai!!!");
				break;
			}
		}
	} while(choose != 6);
	
	return 0;
}




Tags:

Bình luận



Chia sẻ từ lớp học

Tài Liệu Tham Khảo

Đã sao chép!!!