By GokiSoft.com| 20:58 22/09/2023|
Lập Trình C

Bài tập pointer nâng cao - cấp phát động - Lập trình C

Cho menu chương trình như sau

1. Nhập vào N số nguyên

2. Hiển thị danh sách các phần tử trong mảng

3. Tính tổng các phần tử trong mảng

4. Săp xếp các phần tử trong mảng theo thứ tự tăng dần

5. Thoát

Yêu cầu :

Khai báo biến con trỏ t trong chương trình

- Khi người dùng lựa chọn 1 -> thực hiện hỏi người dùng số phần tử cần thểm vào mảng t. Sau đó nhập các phần tử được thêm vào cho mảng t

sau khi nhập -> hiển thị lại menu chương trình

- Khi người dùng lựa chọn 2 -> thực hiện theo yêu câu -> sau khi thực hiên xong -> hiển thị lại menu chương trình

- Khi người dùng lựa chọn 3 -> thực hiện theo yêu câu -> sau khi thực hiên xong -> hiển thị lại menu chương trình

- Khi người dùng lựa chọn 4 -> thực hiện theo yêu câu -> sau khi thực hiên xong -> hiển thị lại menu chương trình

- Khi người dùng lựa chọn 5 -> thoát chương trình

Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Đặng Trần Nhật Minh [T2008A]
Đặng Trần Nhật Minh

2020-09-21 10:10:37



#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main() {

	int *t, cnt, a, aa, sum, index_MIN;
	
	while (true) {
		
		printf("\n______________________MENU_____________________________");
		printf("\n1. Nhap vao N so nguyen.");
		printf("\n2. Hien thi danh sach cac phan tu trong mang.");
		printf("\n3. Tinh tong cac phan tu trong mang.");
		printf("\n4. Sap xep cac phan tu trong mang theo thu tu tang dan.");
		printf("\n5. Thoat.");
		printf("\n________________________________________________________");
		printf("\nNhap Lua Chon: ");
		scanf("%d", &a);
		
		switch (a) {
			
			case 1:
				
				printf("\nSo phan tu trong mang: "); scanf("%d", &aa);
				
				t = (int *)malloc(aa * sizeof(int));
				
				for (int i = 0; i < aa; i++) printf("\nNhap t[%d] = ", i), scanf("%d", t + i);
				
				break;
				
			case 2:
				
				for (int i = 0; i < aa; i++) printf("\nt[%d] = %d", i, *(t + i));
				
				break;
				
			case 3:
				
				sum = 0;
				
				for (int i = 0; i < aa; i++) sum += *(t + i);
				
				printf("SUM = %d", sum);
				
				break;
				
			case 4:
				
				for (int i = 0; i < aa - 1; i++) {
					
					index_MIN = i;
					
					for (int j = i + 1; j < aa; j++)
						if (t[index_MIN] > t[j]) index_MIN = j;
						
					int temp = t[index_MIN];
					t[index_MIN] = t[i];
					t[i] = temp;
					
				}
				
				break;
				
			case 5:
				
				printf("THOAT!");
				
				exit(0);
				
			default:
				
				printf("NHAP SAI.");
				
				break;
			
		}
				
	}
	
	return 0;

}



Nguyễn Tiến Đạt [T2008A]
Nguyễn Tiến Đạt

2020-09-21 09:24:12



#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void menu(){
	printf("\nMenu chuong trinh\n");
	printf("==================================\n");
	printf("1.Nhap n phan tu cho mang\n");
	printf("2.Hien thi danh sach cac phan tu trong mang\n");
	printf("3.Tinh tong cac phan tu trong mang\n");
	printf("4.Sap xep cac phan tu trong mang theo thu tu tang dan\n");
	printf("5.Thoat chuong trinh\n");
}
int main(){
	int *p;
	int i,j,tong=0,total=0,n,a;
	while(1){
		menu();
		printf("\nLua chon chuong trinh: ");
		scanf("%d",&a);
		switch(a){
			case 1:
				printf("\nNhap so phan tu can them: ");
				scanf("%d",&n);
				if(total==0){
					total=n;
					p=(int *)calloc(n, sizeof(int));
				}
				else{
					total+=n;
					p=(int *)realloc(p,total * sizeof(int));
				}
				for(i=total-n;i<total;i++){
					printf("\np[%d]= ",i);
					scanf("%d",p+i);
				}
			break;
			case 2:
				for(i=0;i<total;i++){
				    printf("\np[%d]= %d\n",i,*(p+i));
				}
			break;
			case 3:
				for(i=0;i<total;i++)
				tong=tong + *(p+i);
				printf("\nTong cac phan tu = %d\n",tong);
			break;
		    case 4:
		    	for(i=0;i<total-1;i++){
		    		for(j=i+1;j<total;j++){
		    			if(p[i]>p[j]){
		    				int temp=p[i];
		    				   p[i]=p[j];
		    				   p[j]=temp;
						}
					}  
				}
				    printf("\nDay phan tu tang dan la:\n");
				    for(i=0;i<total;i++)
				    printf("%d ",p[i]);
				    printf("\n");
		    break;
			case 5:
				exit(0);
			break;	
		}
	}
}