1. Viết chương trình C++ nhập 10 giá trị nguyên, sau đó tìm giá trị lớn nhất, nhỏ nhất, tìm giá trị có tần suất xuất hiện nhiều nhất, sắp xếp mảng theo thứ tự tăng dần, giảm dần và hiển thị kết quả. 2. Viết một chương trình C++ để hiển thị một menu cho phép người dùng lựa chọn hoặc quan sát tất cả bản ghi của sinh viên hoặc chỉ quan sát các bản ghi của một sinh viên cụ thể bởi lựa chọn id của sinh viên đó. ========================================================== MENU ========================================================== 1. Quan sat tat ca ban ghi cua sinh vien 2. Quan sat mot ban ghi cua sinh vien boi ID 3. Hien thi diem thi cuoi ky cao nhat va thap nhat Nhap lua chon cua ban (1-3): 1 |ID | Kiemtra1 | Kiemtra2 | Giuaky | Cuoiky | ================================================== |1232 | 10 | 23 | 45 | 56 | |2343 | 45 | 43 | 24 | 78 | |2343 | 34 | 45 | 45 | 45 | |3423 | 67 | 6 | 65 | 56 | 3. Viết chương trình C++ để hiển thị một bảng các số như yêu cầu đề bài sau:
4. Viết chương trình C++ để nhập và hiển thị một ma trận có kích thước là 5×5, trong đó: các phần tử trên đường chéo được điền giá trị 0, các phần tử của tam giác dưới đường chéo được điền các giá trị -1, và ở tam giác trên là được điền với các giá trị 1. 5. Viết chương trình C++ để tính tổng mỗi hàng, mỗi cột của một ma trận có kích cỡ n x m, và nếu là ma trận vuông thì tính tổng đường chéo. 6. Viết chương trình C++ để nhập và hiển thị tam giác Pascal. Chắc bạn đã khá quen thuộc với tam giác Pascal rồi, ở đây, hàng đầu tiên và thứ hai được thiết lập là 1. Bắt đầu từ hàng thứ ba trở đi, mỗi phần tử là tổng của phần tử ngay trên nó và phần tử bên trái của phần tử ngay trên đó. 7. Viết chương trình C++ để nhập 10 số nguyên trong một mảng một chiều, sau đó sắp xếp và in mảng đó theo thứ tự tăng dần. 8. Viết chương trình C++ để nhập một ma trận vuông 4×4, tính tổng các phần tử trên đường chéo và sau đó in kết quả.
Tìm giá trị xuất hiện nhiều nhất trong mãng và số lần xuất hiện #include<stdio.h> #include<conio.h> #include<math.h> void nhapmang(int a[],int n) { for(int i=0;i<n;i++) { printf(" Phan tu a[%d]: ",i); scanf("%d",&a[i]); } } void xuatmang(int a[],int n) { for(int i=0;i<n;i++) { printf("%3d",a[i]); } } int Timsolanxuathien(int a[],int n) { sapxeptangdan(a,n); int max=0; int dem=1; for(int i=0;i<n;i++) { if(a[i]==a[i+1]) { dem++; if(dem>max) { max=dem; } } else { dem=1; } } return max; } int main() { int a[50],n; do { printf("\n Nhap so luong phan tu: "); scanf("%d",&n); if(n<=0) printf(" Nhap n duong!"); } while(n<=0); nhapmang(a,n); xuatmang(a,n); printf("\nMang sau khi xoa thoa yeu cau: "); int Nhieunhat= Timsolanxuathien(a,n); printf("\nSo lan nhat hien nhieu nhat la: %d",Nhieunhat); getch(); return 0; }Em chỉ in ra đc số lần xuất hiện nhiều nhất thôi, Làm sao để xuất ra luôn phần tử xuất hiện nhiều nhất. Ai bổ sung giúp em với
Bài này làm vầy được không ^^ 1 Like
#include<stdio.h> #include<conio.h> int main(){ //khai bao mangdem de chua so lan xuat hien cua moi phan tu co trong mangA. int mangA[50]={},soPhantu,mangdem[50]={}; printf("Nhap so phan tu cua mang:"); scanf("%d",&soPhantu); //Nhap mang. for(int i=0;i<soPhantu;i++){ if(i==0) printf("Nhap gia tri cho cac phan tu trong mang:\n"); printf("A[%d]=",i); scanf("%d",&mangA[i]); } for(int i=0;i<soPhantu;i++){ int dem =1;//khoi tao bien dem bang 1 vi moi phan tu it nhat phai xuat hien 1 lan. mangdem[i]=dem;// so lan xuat hien cua phan tu MangA[i] se ung voi gia tri cua phantu mangdem[i] for(int j=i+1;j<soPhantu;j++){ if(mangA[i]==mangA[j]){//kiem tra su xuat hien cua phan tu Mang[i] bang cach so sanh voi phan tu MangA[j],neu 2 phan tu nay bang nhau thi xuat hien them mot phan tu MangA[i] nua va phai tang dem len 1. mangdem[i]=++dem; for(int k=j;k<soPhantu;k++){//sau khi kiem tra neu phantu MangA[j]=MangA[j] thi sau khi tang bien dem len 1 va xoa phan tu MangA[j] de tranh lap lai viec dem phan tu do. mangA[k]=mangA[k+1]; } soPhantu--;//giam so phan tu di 1 vi ta cua xoa di mot phan tu co gia tri bang phan tu Mang A[i] j--;//giam j de viec de tranh bo xot di 1 phan tu trong cac lan kiem tra sau. } } } int max=0,vi_tri=0;//bien max chua so lan xuat hien nhieu nhat,vi_tri de chua vi tri cua phan tu xuat hien nhieu nhat trong mangA for(int i=0;i<soPhantu;i++){ if(mangdem[i]>max){//so sanh max voi cac phan tu trong mangdem neu phan tu mangdem[i] lon hon max thi gan cho max,dong thoi gan chi so i cho vi_tri max=mangdem[i]; vi_tri=i; } } printf("\nPhan tu thu %d trong mangA xuat hien nhieu nhat ,cu the la %d lan.\n",vi_tri+1,max); getch(); return 0; } 2 Likes
Chính xác rồi đấy @Kelvin_Nguy_n để ý cách đặt tiêu đề nhé. Đừng đặt tiêu đề quá chung chung. Đạt đã sửa tiêu đề lại cho phù hợp.
Hehe =)) Nhờ vào your post mà mình đã xong bài này. bonus: Xuất ra luôn phần tử xuất hiện nhiều nhất, ta làm như sau: ở hàm Timsolanxuathien, ta thêm 1 thằng int xuathiennn, viết code lại thành: for(int i=0;i<n;i++) { if(a[i]==a[i+1]) { dem++; if(dem>max) { max=dem; xuathiennn=a[i]; } } else { dem=1; } }Rồi trong hàm main, cùng vs dòng printf Số lần xuất hiện nn, ta in thêm xuathiennn( chính là phần tử xuất hiện nn).
oops! hình như ở trên đã có người viết rồi Chúc mn 1 ngày tốt lành 1 code #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int arr[10]; int mode[10][2]; cout<<"Nhap 10 so nguyen\n"; for(int l=0;l<10;l++) { cout<<"Gia tri "<<l<<" la :";cin>>arr[l]; } //tim gia tri lon nhat va nho nhat int i,j,temp; //sap xep mang de tim gia tri lon nhat va nho nhat for(i=0;i<10;i++) for(j=9;j>i;j--) if(arr[j]<arr[j-1]) { int temp=arr[j]; arr[j]=arr[j-1]; arr[j-1]=temp;} cout<<"Gia tri lon nhat="<<arr[9]<<"\nGia tri nho nhat="<<arr[0]; cout<<"\n"; //khoi tao mang 2 chieu de sap xep tan suat va gia tri for(i=0;i<2;i++) for(j=0;j<10;j++)mode[j][i]=0; mode[0][0]=1; //tim tan suat for(i=0;i<10;i++) for(j=0;j<10;j++) if(arr[i]==arr[j+1]) {++mode[i][0];mode[i][1]=arr[i];} //tim so lan suat hien nhieu nhat int max; int k=0; max=mode[0][0]; for(j=0;j<10;j++) if(max<mode[j][0]){max=mode[j][0];k=j;} //in ket qua cout<<"Gia tri xuat hien nhieu nhat la:"<<mode[k][1]<<"\n"; cout<<"Xuat hien "<<max<<" lan."; cout<<"\n"; return 0; } 2 code #include <cstdlib> #include <iostream> using namespace std; void showheading(); int hivalue(int stu[4][5]); int lovalue(int stu[4][5]); void displaymenu(){ cout<<"========================================================"<<"\n"; cout<<" MENU "<<"\n"; cout<<"========================================================"<<"\n"; cout<<" 1. Quan sat tat ca ban ghi cua sinh vien"<<"\n"; cout<<" 2. Quan sat mot ban ghi cua sinh vien boi ID"<<"\n"; cout<<" 3. Hien thi diem thi cuoi ky cao nhat va thap nhat"<<"\n"; } void viewall(int stu[4][5]){ int i,j; //Hien thi tieu de showheading(); for(i=0;i<4;i++){ for(j=0;j<5;j++) cout<<stu[i][j]<<"\t\t"; cout<<"\n"; } } void viewbyid(int stu[4][5]){ int id,i,j; bool l=false; cout<<"Nhap ID cua sinh vien:"; cin>>id; for(i=0;i<4;i++){ if(stu[i][0]==id){ showheading();l=true; for(j=0;j<5;j++)cout<<stu[i][j]<<"\t\t";} cout<<"\n";} if(l==false) cout<<"Xin loi, khong tim thay!\n"; } void showhl(int stu[4][5]){ cout<<"Diem thi cao nhat la:"<<hivalue(stu); cout<<"\n"; cout<<"Diem thi thap nhat la:"<<lovalue(stu); cout<<"\n"; } void showheading(){ cout<<"========================================================\n"; cout<<"ID Kiemtra1 Kiemtra2 Giuaky Cuoiky\n"; cout<<"========================================================\n"; } int hivalue(int stu[4][5]){ int *max,i; max=&stu[0][4]; for(i=0;i<4;i++) if(*max<stu[i][4])*max=stu[i][4]; return(*max); } int lovalue(int stu[4][5]){ int *min,i; min=&stu[0][4]; for(i=0;i<4;i++) if(*min>stu[i][4])*min=stu[i][4]; return(*min); } int main(int argc, char *argv[]) { //xay dung mang hai chieu de luu tru ban ghi cua sinh vien int stu[4][5]={{6001,7,7,8,9},{6002,6,8,5,8},{6003,5,6,6,7},{6004,8,9,8,9}}; //Hien thi menu displaymenu(); int yourchoice; char confirm; do { cout<<"Nhap lua chon cua ban (1-3):"; cin>>yourchoice; switch(yourchoice){ case 1:viewall(stu);break; case 2:viewbyid(stu);break; case 3:showhl(stu);break; default:cout<<"Khong hop le"; } cout<<"Nhan y hoac Y de tiep tuc:"; cin>>confirm; }while(confirm=='y'||confirm=='Y'); return 0; } |