[Tự học lập trình C/C++] Tính tổng các phần tử trên đường chéo.

Bài tập

Viết chương trình C++ để nhập một ma trận vuông 4x4, tính tổng các phần tử trên đường chéo và sau đó in kết quả.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Mình sử dụng kết hợp lệnh IF-ELSE và vòng lặp FOR để nhập dữ liệu và tính, sau đó in kết quả với lệnh count.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int x;
int A[4][4],sum=0; //doc ma tran.
cout << "Nhap cac phan tu cua ma tran : " << endl;
for(int y=0;y<4;y++)
for (int x=0;x<4;x++)
{
cout << "Phan tu " << x+1 << ", " << y+1 << " la : ";
cin>>A[x][y];
}
//Tinh tong duong cheo.
for(x=0;x<4;x++)
for(int y=0;y<4;y++)
{if(x==y)
sum+=A[x][y];
else if(y==4-(1+1));
sum+=A[x][y];
}
cout << "Tong cua mot trong hai duong cheo la : " << sum;
return 0;
}
Quay lại>>>

[Tự học lập trình C/C++] Sắp xếp trong mảng một chiều.

Bài tập

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.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Mình sử dụng kết hợp lệnh IF và lồng vòng lặp FOR để sắp xếp mảng, sau đó dùng một vòng FOR để in kết quả với lệnh count.
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{

int array[10],t;
for(int x=0;x<10;x++)
{
cout << "Nhap so nguyen thu " << x+1 << " : " << endl;
cin>>array[x];
}
for (intx=0;x<10;x++)
{
for(int y=0;y<9;y++)
{
if(array[y]>array[y+1])
{
t=array[y];
array[y]=array[y+1];
array[y+1]=t;
}
}
}
cout << "Thu tu tang dan cua mang la : ";
for (int x=0;x<10;x++)
cout << endl << array[x];
return 0;
}

[Tự học lập trình C/C++] Nhập và hiển thị tam giác Pascal.

Bài tập

Viết chương trình C++ để nhập và hiển thị tam giác Pascal. Với tam giác Pascal, 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 đó.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Chúng ta sử dụng mảng hai chiều để hiển thị tam giác Pascal với kích cỡ bất kỳ.
#include<iostream> 
#include<conio.h> 
using namespace std; 
void tgPascal(int size); 
int main() 
    {
     int size; 
     cout<<"Nhap kich co cua tam giac Pascal:"; 
     cin>>size; 
     tgPascal(size); 
     
     return 0; 
  
    } 
   

    void tgPascal(int size){ 
         int PascalTr[size][size]; 
         int hang,cot; 
         //gan gia tri 0 cho moi phan tu mang 
         for(hang=0;hang<size;hang++) 
            for(cot=0;cot<size;cot++)  PascalTr[hang][cot]=0; 
         //thiet lap gia tri hang thu nhat va thu hai la 1   
         PascalTr[0][0]=1; 
         PascalTr[1][0]=1; 
         PascalTr[1][1]=1; 
         
         for(hang=2;hang<size;hang++){ 
              PascalTr[hang][0]=1; 
              for(cot=1;cot<=hang;cot++){ 
                        PascalTr[hang][cot]=PascalTr[hang-1][cot-1]+PascalTr[hang-1][cot]; 
                                        } 
                            } 
          //hien thi tam giac Pascal 
          for(hang=0;hang<size;hang++){ 
            for(cot=0;cot<=hang;cot++){                
                   printf("%d\t",PascalTr[hang][cot]); 
                   } 
            cout<<endl;   
            } 
         
         }
Quay lại>>>

[Tự học lập trình C/C++] Nhập ma trận và tính toán trong ma trận.

Bài tập

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.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Để tính tổng mỗi hàng và mỗi cột của ma trận, bạn sử dụng vòng lặp FOR. Để xử lý tình huống thứ hai, bạn sử dụng kết hợp lệnh IF-ELSE và vòng lặp FOR.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
 clrscr();
  int A[10][10],m,n,x,y,sum=0;
  //Tao mot ma tran A
  cout << "Nhap so hang va so cot cua ma tran A : \n";
  cin>>n>>m;
  cout << "Nhap cac phan tu cua ma tran A : \n";
   for(x=1;x<n+1;++x)
     for(y=1;y<m+1;++y)
     cin>>A[x][y];
     //Tim tong gia tri cua hang
   for(x=1;x<n+1;++x)
    {
     A[x][m+1]=0;
     for(y=1;y<m+1;++y)
     A[x][m+1]=A[x][m+1]+A[x][y];
    }
   //Tim tong gia tri cua cot
   for(y=1;y<m+1;++y)
    {
    A[n+1][y]=0;
    for(x=1;x<n+1;++x)
    A[n+1][y]+=A[x][y];
    }
   cout << "\nMa tran A: Tong hang (cot cuoi)" << " va Tong cot (hang cuoi) : \n";
   for(x=1;x<n+1;++x)
   {
    for(y=1;y<m+2;++y)
    cout << A[x][y] << "     ";
    cout << "\n";
    }
   //In tong moi hang
   x=n+1;
   for(y=1;y<m+1;++y)
   cout << A[x][y] << "     ";
   cout << "\n";
   if(m==n)
   {
   for(x=1;x<m+1;x++)
    for(y=1;y<n+1;y++)
      if(x==y)
       sum+=A[x][y];
      else
       if(y==m-(x+1))
       sum+=A[x][y];
    }
   cout << "Tong cac phan tu tren duong cheo la : " << sum << endl;
  
   return 0;
   }
Quay lại>>>

[Tự học lập trình C/C++] Hiển thị ma trận kích thước cho trước

Bài tập

Nhập và hiển thị một ma trận có kích thước là 5x5, 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.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Chúng ta sử dụng mảng hai chiều có kích cỡ là 5x5.
#include<iostream>
#include<conio.h>
using namespace std;

   int main() 
    {   

     int matrix[5][5]; 
     int i,j; 
     for(i=0;i<5;i++) //gan cac gia tri cho ma tran
        for(j=0;j<5;j++){
           if(i==j) matrix[i][j]=0; //neu hang=cot=> thi dien 0 
           else if(i>j) matrix[i][j]=-1; //neu hang>cot=> thi dien -1
           else matrix[i][j]=1; //neu hang<cot=> thì dien 1
             }    
            
     for(i=0;i<5;i++){ //in mang
        for(j=0;j<5;j++) 
            cout<<matrix[i][j]<<"\t"; 
        cout<<"\n";   
       } 
     
     return 0;
     } 
Quay lại>>>

[Tự học lập trình C/C++] Hiển thị ma trận

Bài tập

Viết chương trình C++ để hiển thị một bảng các số như dưới đây:
12345
67910
1112131415
1617181920
2122232425

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Chúng ta sử dụng mảng hai chiều có kích cỡ là 5x5.
#include<iostream> 
#include<conio.h> 
using namespace std; 
int main() 
    { 
     
     int tArr[5][5]; 
     int i,j;
     for(i=0;i<5;i++) //gan cac gia tri cho mang hai chieu 
        for(j=0;j<=5;j++){ 
           if(i==0) tArr[i][j]=j+1; //dien vao hang dau tien 
           if(i>0 && j==0)
              tArr[i][j]=tArr[i-1][4]+1; //lay cac gia tri cua o cuoi cung trong hang truoc do
           else 
             tArr[i][j]=tArr[i][j-1]+1; //dien vao cac o ke tiep 
             }     
            
     for(i=0;i<5;i++){ //in mang ket qua
        for(j=0;j<5;j++) 
            cout<<tArr[i][j]<<"\t"; 
        cout<<endl;   
       } 
     
     return 0; 
  
    } 
Quay lại>>>

[Tự học lập trình C/C++] Tự tạo menu cho chương trình quản lý sinh viên đơn giản trong C/C++

Bài tập

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 |

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Chúng ta sử dụng các mảng hai chiều để lưu trữ các bản ghi liên quan tới sinh viên.
#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;
} 
Download chương trình quản lý sinh viên có menu bằng C++ miễn phí

Quay lại>>>

Bài đăng phổ biến

Bài viết mới nhất

Tin học cơ bản - Nền tảng của mọi kỹ năng

Mọi thông tin trên blog đều được giữ bản quyền bởi Tin học cơ bản. Các bạn nếu muốn lấy thông tin từ blog vui lòng ghi rõ nguồn Tinhoccoban.net

TIN HỌC CƠ BẢN