Tuyển chọn các dạng bài tập C++ hay

Thảo luận trong 'Ngân hàng đề thi' bắt đầu bởi xuanhung_xd9, 30/3/2012. — 98.573 Lượt xem

  1. xuanhung_xd9

    xuanhung_xd9 thichhohap.com Thành viên thân thiết

    Gia nhập:
    15/12/2011
    Bài viết:
    1.997
    Lượt thích:
    3.648
    Kinh nghiệm:
    113
    Nghề nghiệp:
    Học viên
    Trường:
    Học Viện Kỹ Thuật Quân Sự

    Tuyển chọn các dạng bài tập C++ hay

    bài tập C++ chọn lọc

    Câu 1: Giải phương trình bậc nhất.
    PHP:
    #include <stdio.h>

    void main()
    {
    float ab;

    printf("\nGiai phuong trinh bac nhat AX + B = 0");
    printf("\nCho biet ba he so A B : ");
    scanf("%f%f", &a, &b);

    if (
    a==0)
    if (
    b!=0)
    printf("Phuong trinh vo nghiem");
    else
    printf("Phuong trinh co nghiem khong xac dinh");
    else
    printf("Dap so cua phuong trinh tren = %f", -b/a);
    getch();
    }

    Câu 2: Giải phương trình bậc hai.
    PHP:
     #include <stdio.h>

    #include <math.h>

    void main()

    {

        
    float x,x1,x2,a,b,c,delta;

        
    printf("Nhap vao tham so cua phuong trinh bac 2 \(a b c\) : "); scanf("%f%f%f",&a,&b,&c);

        if (
    a==0

             if (
    b==0printf("Phuong trinh vo nghiem\n");

             else {
    x=-c/bprintf("Phuong trinh co mot nghiem x = %.3f\n",x);}

        else {

        
    delta=b*b-4*a*c;

        if (
    delta<0)    

            
    printf("Phuong trinh vo nghiem thuc\n");

        else 

            if (
    delta==0

                {
    x=-b/(2*a);

                
    printf("Phuong trinh co mot nghiem duy nhat x = %.3f\n",x);}

            else {

                
    x1=(-b+sqrt(delta))/(2*a);

                
    x2=(-b-sqrt(delta))/(2*a);

            
    printf("Phuong trinh co nghiem 2 nghiem thuc :\n x1 = %.3f\n x2 = %.3f\n",x1,x2);    

            }

        }

     


      

    Câu 3: Giải hệ phương trình bậc nhất.
    PHP:
    #include <stdio.h>
    #include <conio.h>

    void main()
    {
      
    int abcdefdthuc;
      
    float xy;

      
    printf("\nNhap vao cac he so a,b,c,d,e,f : ");
      
    scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f);
      
    dthuc b*e*a;
      if (
    dthuc != 0)
      {
        
    = (float)(c*d-a*f)/dthuc;
        
    = (float)(b*f-c*e)/dthuc;
        
    printf("Nghiem x = %f, y = %f"xy);
      }
      else
        
    printf("\nHe phuong trinh vo ngiem.");

      
    getch();
    }

    Câu 4: Tính căn bậc 2 theo phương pháp hàm Newton
    PHP:
    #include <stdio.h>
    #include <math.h>

    void main()
    {
    double axnketqua;

    printf("\nNhap vao so muon tinh can bac hai : ");
    scanf("%lf", &a);
    xn = (a+1)/2;
    do {
    ketqua xn;
    xn 0.5 * (xn a/xn);
    } while (
    fabs(xn-ketqua) > 0.0001);
    printf("\nKet qua = %lf"xn);
    getch();
    }

    Câu 5: In ra màn hình tam giác cân
    PHP:
    #include <stdio.h>
    #include <conio.h>

    void main() {
    clrscr();
    short d[]={1,2};
    printf("Nhap chieu cao tam giac: ");
    int i,num,space;
    scanf("%d",&i);
    num=2*i+1;
    for(
    int n=0;n<i;++n) {
        
    space=(num-(2*n+1))/2;
        while(
    space-->0)
            
    printf(" ");
        
    int index;
        for(
    int j=0;j<2*n+1;++j) {
            
    index=(j%2)?1:0;
            
    printf("%d",d[index]);
        }
        
    printf("\n");
    }
    getch();
    }

    Câu 6: In ra bảng cửu chương.
    PHP:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>

    void main()
    {
      
    int ij;
      
    char chuoi[] = "B A N G   C U U   C H U O N G";
      
    char ten[10][5] = {"","","Hai""Ba""Bon""Nam",
                         
    "Sau""Bay""Tam""Chin"};
      
    clrscr();
      
    textcolor(YELLOW);
      
    gotoxy((80 strlen(chuoi)) / 21);
      
    cprintf("%s\n\n"chuoi);

      for (
    i=2i<=9i++)
      {
        
    gotoxy(10*(i-2) + (10 strlen(ten[i]))/24);
        
    textcolor(i);
        
    cprintf("%s"ten[i]);
      }
      for (
    j=1j<=10j++)
        for (
    i=2i<=9i++)
        {
          
    gotoxy(10*(i-2) + 1j+4);
          
    textcolor(i);
          
    cprintf("%dx%2d = %2d"iji*j);
        }
      
    getch();
    }

    Câu 7: In ra năm âm lịch tương ứng với năm nhập vào.
    PHP:
    #include <stdio.h>
    #include <conio.h>

    void main()
    {
      
    unsigned nam;
      
    char can[][5] = {"Giap""At""Binh""Dinh""Mau""Ky",
                       
    "Canh""Tan""Nham""Quy"};
      
    char chi[][5] = {"Ty""Suu""Dan""Meo""Thin""Ty",
                       
    "Ngo""Mao""Than""Dau""Tuat""Hoi"};

      
    printf("\nNhap nam can biet : ");
      
    scanf("%d", &nam);
      
    printf("Nam am lich cua %d la %s %s"namcan[(nam+6)%10], chi[(nam+8)%12]);
      
    getch();
    }
    Câu 8 Tính số ngày trong một tháng, một năm bất kỳ
    PHP:
    #include<iostream.h>
    #include<conio.h>
    #include<math.h>
    void main()
    {
        
    long int thangnam;
       
    cout<<"Nhap thang va nam: ";
       
    cin>>thang>>nam;
       if ((
    thang>12||thang<1)||(nam<0))
       
    cout<<"Nhap thang hoac nam sai";
       else
       {
        
    bool namnhuan=((nam%4==0&&nam%100!=0)||(nam%400==0&&nam%100==0));
        
    int songay;
        if(
    thang==4||thang==6||thang==9||thang==11)
        
    songay 30;
        else
        {
         if(
    thang==2)
         
    songay namnhuan?29:28;
         else
          
    songay=31;
         }
         
    cout<<"So ngay cua thang "<<thang<<" trong nam "<<nam<<" la: "<<songay<<endl;
         }
        
    getch();
    }

    Câu 9: Nhập chuỗi và in chuỗi
    PHP:
    #include <stdio.h>
    #include <conio.h>

    void main()
    {
       
    char name[80];

       
    printf("\nXin cho biet ten cua ban : ");
       
    gets(name);

       
    printf("Chao %s\n"name);
       
    getch();
    }
    Câu 10: Đảo chuỗi
    PHP:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<stdlib.h>
    int main ()
    {
        
    clrscr ();
        
    charp;
        
    int i,n;
        
    = (char*)malloc(128);
        
    printf("\n Nhap xau ki tu :");
        
    gets (p);
        
    strlen(p);
        
    printf("\n xau dao: \n");
        for( 
    n-1i>=0--)
        
    putchar(p[i]);
        
    printf("\n");
        
    free(p);
        
    getch ();
        return 
    0;
    }

    Câu 11: Đếm số lần xuất hiện của các ký tự trong chuỗi
    PHP:
    #include <stdio.h>
    #include <ctype.h>

    void main()
    {
      
    char chuoi[80];
      
    int i 0count 0;

      
    printf("\nNhap vao mot chuoi bat ky : ");
      
    gets(chuoi);

      while (
    chuoi[i] != 0)
      {
        if (
    isalpha(chuoi[i++]))
          
    count++;
      }

      
    printf("So ky tu trong chuoi = %d"count);
      
    getch();
    }
    Câu 12: Loại bỏ khoảng trống thừa trong chuỗi.
    PHP:
    #include <stdio.h> 
    #include <string.h> 
    #include <conio.h> 
    #pragma warn -pia 

    char *trim(char *chuoi

       
    char *p
       while (
    strstr(chuoi"  ")) 
         
    memmove(pp+1strlen(chuoi) - (chuoi)); 
       if (
    chuoi[0] == ' '
         
    memmove(chuoichuoi+1strlen(chuoi) - 1); 
       if (
    chuoi[strlen(chuoi)-1] == ' '
         
    chuoi[strlen(chuoi)-1] = 0
       return 
    chuoi


    void main() 

       
    char chuoi[125]; 

       
    printf("\nNhap chuoi mau : "); 
       
    textattr(0x1e); 
       
    gets(chuoi); 

       
    trim(chuoi); 
       
    printf("\nChuoi sau khi da trim : "); 
       
    textattr(0x1e); 
       
    cputs(chuoi); 
       
    getch(); 
    }  
    Câu 13: In chuỗi theo các từ mỗi từ một dòng
    PHP:
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    void main()
    {
      
    char s[50];
      
    int ilen;

      
    printf("\nNhap vao mot chuoi : ");
      
    gets(s);
      
    len strlen(s);
      
    0;
      while (
    i<len)
      {
        while (
    s[i] == ' ' && i<len)
          
    i++;
        while (
    s[i] != ' ' && i<len)
          
    putc(s[i++], stdout);
        
    putc('\n'stdout);
      }
      
    getch();
    }

    Câu 14: Chương trình đếm số ký tự trong một chuỗi ASCII
    PHP:
    #include <stdio.h>
    #include <ctype.h>
    #include<conio.h>
    void main()
    {
      
    char chuoi[80];
      
    int i 0count 0;

      
    printf("\nNhap vao mot chuoi bat ky : ");
      
    gets(chuoi);

      while (
    chuoi[i] != 0)
      {
        if (
    isalpha(chuoi[i++]))
          
    count++;
      }

      
    printf("So ky tu trong chuoi = %d"count);
      
    getch();
    }

    Câu 15: Cho biết kích thước 1 file
    PHP:
    #include <stdio.h>
    #include <io.h>
    #include <fcntl.h>
    #include <sys\stat.h>

    int main()
    {
    int fp;

    long file_size;

    if ((
    fp open("f:/cprojects/urls.txt"O_RDONLY)) == -1)
    printf("Error opening the file \n");
    else
    {
    file_size filelength(file_handle);
    printf("The file size in bytes is %ld\n"file_size);
    close(fp);
    }
    return 
    0;
    }

    Câu 16: Đọc nội dung 1 file
    PHP:
    #include <stdio.h>

    void main(void)
    {
    FILE *fp;
    char ch;

    fp fopen("websites.txt","r");
    ch getc(fp);
    while(
    ch!=EOF)
    {
    putchar(ch);
    ch getc(fp);
    }
    printf("\n\n");
    }

    Câu 17: Đếm tần suất 1 kí tự trong 1 file
    PHP:
    # include <stdio.h> 
    # include <string.h>
    main() 

     
    FILE *fp
     
    char in[100]; 
     
    long int freq[257]; 
     
    int i

     
    printf("\nFile frequency table generator\n\n"); 

     
    printf("\nInput file:");
     
    scanf("%s",in); 
     
    fp=fopen(in,"rb"); 
     if(
    fp==NULL
     { 
      
    printf("\nCould not open input file.Aborting\n"); 
      return 
    1
     } 
     for(
    i=0;i<257;i++) 
      
    freq[i]=0
     while(
    i=fgetc(fp),i!=EOF
     { 
      
    freq[i]++; 
     } 
     
    fcloseall(); 
     
    fp=fopen("count.txt","w"); 
     
    fprintf(fp,"\nCharacter frequency table of %s\n",in); 
     
    fprintf(fp,"\nCharacter ASCII frequency\n\n"); 
     for(
    i=0;i<256;i++) 
     { 
      if(
    i==26
      { 
       
    fprintf(fp,"\t    26\t  %ld\n",freq[26]); 
      } 
      else if(
    i==9
      { 
       
    fprintf(fp,"\t    9\t  %ld",freq[9]); 
      } 
      else if(
    i<10
      { 
       
    fprintf(fp,"%c\t    %d\t  %ld\n",i,i,freq[i]); 
      } 
      else if(
    i<100
      { 
       
    fprintf(fp,"%c\t    %d\t  %ld\n",i,i,freq[i]); 
      } 
      else 
      { 
       
    fprintf(fp,"%c\t    %d\t  %ld\n",i,i,freq[i]); 
      } 
     } 
     
     
    fcloseall(); 
     
    printf("\nFrequency table copied to count.txt\n"); 
    }

    Câu 18: Cho biêt thông tin FAT
    PHP:
    #include <stdio.h>
    #include <dos.h>

    void main(void)
    {
    struct fatinfo fat;

    getfatd(&fat);

    printf("Sectors per cluster %d\n"fat.fi_sclus);
    printf("Clusters per disk %u\n"fat.fi_nclus);
    printf("Bytes per cluster %d\n"fat.fi_bysec);
    printf("Disk type %x\n"fat.fi_fatid 0xFF);
    }

    Câu 19: Bài toán trâu ăn cỏ
    PHP:
    /* Giai bai toan co : 
       Tram trau tram co 
       Trau dung an nam 
       Trau nam an ba 
       Trau gia an mot 
    */ 

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

    void main() 

      
    int tdungtnamtgiaphuongan=0

      for (
    tdung 1tdung <= 98tdung ++) 
        for (
    tnam 1tnam 99 tdungtnam ++) 
          for (
    tgia 1tgia 99 - (tdung tnam); tgia++) 
            if ((
    tdung*tnam*tgia) == 100
            { 
               
    printf("\nTrau dung : %5d ; Trau nam : %5d ; Trau gia : %5d"
                      
    tdungtnamtgia); 
               
    phuongan++; 
            } 
      
    printf("\nTong cong co %d phuong an."phuongan); 
      
    getch(); 
    }  

    Câu 20: Bài toán 8 Hoàng Hậu
    PHP:
    #include <stdio.h>
    #include<conio.h>
    int dong[8], cot[8], cheoxuoi[15], cheonguoc[15];

    void print ()
    {
      
    int i;
      
    printf("\n");
      for (
    i=0i<8i++)
        
    printf("%3d"dong[i]);
    }

    void thu(int i)
    {
      
    int j;
      for (
    j=0j<8j++)
      {
        if (
    cot[j] == && cheoxuoi[i+j] ==&& cheonguoc[i-j+7] == 1)
        {
          
    dong[i] = j;
          
    cot[j] = 0;
          
    cheoxuoi[i+j] = 0;
          
    cheonguoc[i-j+7] = 0;
          if (
    i<7)
            
    thu(i+1);
          else
            print();
          
    cot[j] = 1;
          
    cheoxuoi[i+j] = 1;
          
    cheonguoc[i-j+7] = 1;
        }
      }
    }

    void tim()
    {
       
    int iq;

       for (
    i=0i<8i++)
       {
         
    cot[i] = 1;
         
    dong[i] = -1;
       }
       for (
    i=0i<15i++)
       {
         
    cheoxuoi[i] = 1;
         
    cheonguoc[i] = 1;
       }
       
    thu(0);
    }

    void main()
    {
      
    tim();
      
    getch();
    }

    Câu 21 Bài kiểm tra số nguyên tố
    PHP:
    #include<iostream.h>
    #include<conio.h>
    #include<math.h>
    bool LaNguyenTo(int n);
    void main()
    {
        
    int n;
       
    cout<<"Nhap vao mot so bat ky: ";cin>>n;
           if(
    LaNguyenTo(n))
               
    cout<<"La so nguyen to";
           else
               {
                 
    cout<<"Khong la so nguyen to vi no chia het cho ";
                for(
    int j=2;j<n;j++)
                {
                    if(
    n%j==0)
                   
    cout<<j<<" va ";
                }
                
    cout<<"The thoi";
             }
       
    getch();
    }
    bool LaNguyenTo(int n)
    {
            
    bool co=true;
          if(
    n<2)
          {
    cout<<"Du lieu nhap sai va so do ";
           return !
    co;}
           else
          {
               for(
    int i=2;i<=sqrt(n)+1;i++)
               {
                   if(
    n%i==0)
                  {
                        
    co=false;
                      break;
                  }
               }
           }
       return 
    co;
    }

    Câu 22: Liệt kê các hoán vị của N phần tử
    PHP:
    #include <stdio.h>
    #include <conio.h>
    #define MAX 10
    int mang[MAX], n;

    void swap (int *xint *y)
    {
      
    int tmp;
      
    tmp = *x;
      *
    = *y;
      *
    tmp;
    }

    void hoanvi(int k)
    {
      
    int j;

      if (
    k==1)
      {
        
    printf("\n");
        for (
    j=0j<nj++)
          
    printf("%d "mang[j]);
      }
      else
        for (
    j=k-1j>=0j--)
        {
          
    swap(&mang[k-1], &mang[j]);
          
    hoanvi(k-1);
          
    swap(&mang[j], &mang[k-1]);
        }
    }

    void main()
    {
      
    int i;

      
    printf("\nCho biet so phan tu (N < 10) : ");
      
    scanf("%d", &n);
      for (
    i=0i<ni++)
        
    mang[i] = i;
      
    hoanvi(n);
      
    getch();
    }

    Câu 23: Tính tổ hợp chập K của N phần tử
    PHP:
    #include <stdio.h>
    #include <conio.h>

    unsigned long giaithua(int n)
    {
       
    unsigned long ketqua 1;
       
    int i;

       for (
    i=2i<=ni++)
         
    ketqua *= i;

       return 
    ketqua;
    }

    unsigned long to_hop_chap(int kint n)
    {
       return 
    giaithua(n) / (giaithua(k) * giaithua(n-k));
    }

    void main()
    {
      
    int nk;

      
    printf("\nNhap vao gia tri N va K : ");
      
    scanf("%d%d", &n, &k);

      
    printf("Top hop chap %d cua %d = %lu"knto_hop_chap(kn));
      
    getch();
    }

    Câu 24: Bài tập tìm max min của 4 số.
    PHP:
    #include<iostream.h>
    #include<conio.h>
    #include<math.h>
    float max(int aint b);
    float min(int aint b);
    void main()
    {
         
    int a,b,c,d;
       
    cout<<"Nhap vao so thu 1: ";cin>>a;
       
    cout<<"Nhap vao so thu 2: ";cin>>b;
       
    cout<<"Nhap vao so thu 3: ";cin>>c;
       
    cout<<"Nhap vao so thu 4: ";cin>>d;
       
    cout<<"max= "<<max(max(max(a,b),max(b,c)),max(c,d))<<" min= "<<min(min(min(a,b),min(b,c)),min(c,d))<<endl;
       
    cout<<"Vay trung binh cong cua 4 so do la: "<<(a+b+c+d)/4;
       
    getch();
    }
    float max(int aint b)
    {
         if(
    a>b)
         return 
    a;
         else
         return 
    b;
    }
    float min(int aint b)
    {
         if(
    a>b)
         return 
    b;
         else
         return 
    a;
    }

    Câu 25: Chương trình đọc số có 3 chữ số
    PHP:
    #include<iostream.h>
    #include<conio.h>
    void main()
    {
       
    int a;
       
    cout<<"Nhap vao mot so co 3 hay 2 tham chi 1 chu so: ";
       
    cin>>a;
       
    int hangtram=a/100;
       
    int hangchuc=((a/10)%10);
       
    int hangdonvi=a%10;
       switch(
    hangtram)
       {
                  case 
    :cout<<"Mot tram ";break;
                   case 
    :cout<<"Hai tram ";break;
                   case 
    :cout<<"Ba tram ";break;
                   case 
    :cout<<"Bon tram ";break;
                   case 
    :cout<<"Nam tram ";break;
                   case 
    :cout<<"Sau tram ";break;
                   case 
    :cout<<"Bay tram ";break;
                   case 
    :cout<<"Tam tram ";break;
                   case 
    :cout<<"Chin tram ";break;
       }
       switch(
    hangchuc)
       {
                   case 
    0:
                       if(
    hangdonvi==0)
                           
    cout<<"";
                       else
                           {if(
    hangchuc==0&&hangtram==0)
                                
    cout<<"";
                            else
                                
    cout<<"ninh";}
                        break;
                  case 
    1:cout<<"muoi";break;
                   case 
    2:cout<<"hai muoi";break;
                   case 
    3:cout<<"ba muoi";break;
                   case 
    4:cout<<"bon muoi";break;
                   case 
    5:cout<<"nam muoi";break;
                   case 
    6:cout<<"sau muoi";break;
                   case 
    7:cout<<"bay muoi";break;
                   case 
    8:cout<<"tam muoi";break;
                   case 
    9:cout<<"chin muoi";break;
       }
       switch(
    hangdonvi)
       {
                   case 
    0:cout<<"Khong";break;
               case 
    1:
                          if(
    hangchuc==1||(hangtram==0&&hangchuc==0))
                          
    cout<<" mot";
                          else
                          
    cout<<" mo't";
                          break;
                   case 
    2:cout<<" hai";break;
                   case 
    3:cout<<" ba";break;
                   case 
    4:
                           if(
    hangchuc==1)
                         
    cout<<" bon";
                         else
                         {if(
    hangchuc==0&&hangtram==0)
                         
    cout<<"bon";
                         else
                         
    cout<<" tu";}
                         break;
                   case 
    5:
                         if(
    hangchuc==0&&hangtram==0)
                             
    cout<<" nam";
                         else
                             
    cout<<" lam";
                         break;
                   case 
    6:cout<<" sau";break;
                   case 
    7:cout<<" bay";break;
                   case 
    8:cout<<" tam";break;
                   case 
    9:cout<<" chin";break;
       }
        
    getch();
    }

    Câu 26 Tìm phần tử lớn nhất nhỏ nhất trong mảng một chiều

    PHP:
    #include <conio.h>
    #include <stdlib.h>

    void main()
    {
      
    int mang[20];

       
    int iminvalmaxval;

       
    /* Khoi tao mang ngau nhien */
       
    randomize();
       for (
    i=0i<20i++)
         
    mang[i] = random(100);

       
    /* Tim gia tri lon nhat va nho nhat */
       
    minval maxval mang[0];
       for (
    i=1i<20i++)
       {
         if (
    maxval mang[i])
           
    maxval mang[i];
         else if (
    minval mang[i])
           
    minval mang[i];
       }

       
    /* In mang */
       
    clrscr();
       for (
    i=0i<20i++)
       {
         if (
    mang[i] == maxval)
           
    textcolor(YELLOW);
         else if (
    mang[i] == minval)
           
    textcolor(RED);
         else
           
    textcolor(WHITE);
         
    cprintf("%3d"mang[i]);
       }

       
    getch();
    }

    Câu 27: Trộn 2 dãy giảm thành 1 dãy tăng
    PHP:
    #include <stdio.h> 
    #include <conio.h> 
    #define MAX 10 

    void main() 

      
    int a[MAX], b[MAX], c[2*MAX], n1n2ii1i2

      
    printf("\nCho biet so phan tu cua mang thu nhat : "); 
      
    scanf("%d", &n1); 
      
    printf("Nhap vao cac phan tu (giam dan) cua mang thu nhat : "); 
      for (
    i=0i<n1i++) 
        
    scanf("%d", &a[i]); 
      
    printf("\nCho biet so phan tu cua mang thu hai : "); 
      
    scanf("%d", &n2); 
      
    printf("Nhap vao cac phan tu (giam dan) cua mang thu hai : "); 
      for (
    i=0i<n2i++) 
        
    scanf("%d", &b[i]); 
      
    i1 n1-1
      
    i2 n2-1
      for (
    i=0i<n1 n2i++) 
      { 
        if (
    i1 || i2 0
          break; 
        if (
    a[i1] < b[i2]) 
          { 
            
    c[i] = a[i1]; 
            
    i1--; 
          } 
          else 
          { 
            
    c[i] = b[i2]; 
            
    i2--; 
          } 
      } 
      if (
    i1 >= 0
        while (
    i1 >= 0
          
    c[i++] = a[i1--]; 
      if (
    i2 >= 0
        while (
    i2 >= 0
          
    c[i++] = b[i2--]; 
      
    printf("\nCac phan tu cua mang tron : "); 
      for (
    i=0i<n1+n2i++) 
        
    printf("%d "c[i]); 
      
    getch(); 
    }  
    Câu 28: Dãy tăng dần
    PHP:
    #include <stdio.h>

    void main()
    {
    int a[10], imaxstartmaxendmaxlentmpstarttmpendtmplen;

    printf("\nNhap vao 10 phan tu nguyen cua day :");
    for (
    i=0i<10i++)
    scanf("%d", &a[i]);
    printf("Day da cho :\n");
    for (
    i=0i<10i++)
    printf("%6d"a[i]);

    maxstart maxend tmpstart tmpend 0;
    maxlen tmplen 1;
    for (
    i=1i10i++)
    {
    if (
    a[i] < a[tmpend])
    {
    if (
    maxlen tmplen)
    {
    maxstart tmpstart;
    maxend tmpend;
    maxlen tmplen;
    }
    tmpstart tmpend i;
    tmplen 1;
    }
    else
    {
    tmplen++;
    tmpend++;
    }
    }
    if (
    maxlen tmplen)
    {
    maxstart tmpstart;
    maxend tmpend;
    }
    printf("\nDay tang co so phan tu nhieu nhat la : \n");
    for (
    i=maxstarti<=maxendi++)
    printf("%6d"a[i]);
    getch();
    }

    Câu 29: Dãy tăng có dãy dài nhất
    PHP:
    #include <stdio.h>

    void main()
    {
    int a[10], imaxstartmaxendmaxtotaltmpstarttmpendtmptotal;

    printf("\nNhap vao 10 phan tu nguyen cua day :");
    for (
    i=0i<10i++)
    scanf("%d", &a[i]);
    printf("Day da cho :\n");
    for (
    i=0i<10i++)
    printf("%6d"a[i]);

    maxstart maxend tmpstart tmpend 0;
    maxtotal tmptotal a[0];
    for (
    i=1i10i++)
    {
    if (
    a[i] < a[tmpend])
    {
    if (
    maxtotal tmptotal)
    {
    maxstart tmpstart;
    maxend tmpend;
    maxtotal tmptotal;
    }
    tmpstart tmpend i;
    tmptotal a[i];
    }
    else
    {
    tmptotal += a[i];
    tmpend++;
    }
    }
    if (
    maxtotal tmptotal)
    {
    maxstart tmpstart;
    maxend tmpend;
    }
    printf("\nDay tang co tong nhieu nhat la : \n");
    for (
    i=maxstarti<=maxendi++)
    printf("%6d"a[i]);
    getch();
    }

    Câu 30: Tìm tất cả ước của một số N
    PHP:
    [HTML]#include <stdio.h> 
    #include <conio.h> 

    void main() 

      
    int ni

      
    printf("Cho gia tri N = "); 
      
    scanf("%d", &n); 

      
    printf("Cac uoc so cua %d la :\n"n); 
      for (
    i=1i<ni++) 
        if ((
    i) == 0
          
    printf("%5d"i); 
      
    getch(); 
    }  [/
    HTML]
    Câu 31: Bội số chung và ước số chung
    PHP:
    #include <stdio.h> 
    #include <conio.h> 
    unsigned USCLN (unsigned nunsigned m

      while (
    != && != 0
        if (
    n>m
          
    -= m
        else 
          
    -= n
      if (
    == 0
        return 
    m
      else 
        return 
    n


    unsigned BSCNN (unsigned nunsigned m

      return 
    USCLN(nm); 


    void main() 

      
    unsigned nm

      
    printf("\nNhap hai vao so nguyen duong : "); 
      
    scanf("%u%u", &n, &m); 
      
    printf("\nUSCLN cua %u va %u = %u"nmUSCLN(n,m)); 
      
    printf("\nBSCNN cua %u va %u = %u"nmBSCNN(n,m)); 
      
    getch(); 
    }  

    Câu 32: Ma phương
    PHP:
    #include <stdio.h>
    #include <conio.h>

    // func declaration
    void matrixint n );

    // main()
    int main(void)
    {
        
    int n;
        
        
    // input until it's valid.
        
    do 
        {
        
    printf("\n Plz input size of matrix [ odd size & n < 20 ]: n = ");
        
    scanf("%d",&n);
        if ( 
    == printf("\n Invalid input value .. Plz re-input ... \n");
        } 
        while ( 
    == );
        
        if ( 
    20 ) { 19 // in case of n is greater than 20
        
    printf("\n %d is greater than 20 & set to be default as 19 .",); } // end if
        
        // call matrix()
        
    matrix(n);
        
    // stop to watch
        
    getch();
        return 
    0;
    }

    // function matrix(int n)
    void matrixint n )
    {
         
    int a[20][20];
         
    int ijrowcolcount 1;
         
    int old_rowold_colsum 0;
         
         
    // set starting value of array
         
    for ( i++ )
         for ( 
    j++ )
             
    a[i][j] = 0;
         
         
    // set the 1st value to start
         
    row 0col = (n-1) / 2;
         
         while ( 
    count n*)
         {
               
    a[row][col] = count++ ; // set value for elements
               
    old_row row old_col col// save the last addresses
               // define whether going out of array
               
    row -= 1; if ( row == -row 1
               
    col += 1; if ( col == col 0;
               
    // in case of already having number
               
    if ( a[row][col] != 
               {
                    
    row old_row 1;
                    
    col old_col;
               } 
    // end if
         
    // end while
         // print result
         
    printf("\n");
         for ( 
    i++ )
         {
         for ( 
    j++ )
             
    printf("%4d",a[i][j]);
         
    printf("\n");
         } 
    // end for
         
         // calculate sum
         
    for ( j++ )
             
    sum += a[0][j];
         
    printf("\n Sum of each row - column - diagonal line is : %d " sum);
         
         return;
    }

    Câu 33: Tổng 2 ma trận
    PHP:
    #include <iostream.h> 
    #include <conio.h> 
    #include <stdlib.h> 
    void congmt(float a[][10],float b[][10],float c[][10],int hang,int cot); 
    void nhapmt(float a[][10],int hang,int cot); 
    void inmt(float a[][10],int hang,int cot); 
    void main() 

        
    system("color 3e"); 
        
    float a[10][10],b[10][10],c[10][10]; 
        
    int hang1,cot1

       
    cout<<"Moi ban nhap vao ma tran a: \n"
       
    cout<<"Nhap vao so hang cua ma tran a: "
       
    cin>>hang1
       
    cout<<"Nhap vao so cot cua ma tran a: "
       
    cin>>cot1
       
    nhapmt(a,hang1,cot1); 
       
    inmt(a,hang1,cot1); 

       
    int hang2,cot2
       
    cout<<"Moi ban nhap vao ma tran b: \n"
       do 
       { 
           
    cout<<"Nhap vao so hang cua ma tran b: "
           
    cin>>hang2
       }while(
    hang2 != hang1); 
       do 
       { 
           
    cout<<"Nhap vao so cot cua ma tran b: "
           
    cin>>cot2
       }while(
    cot2 != cot1); 
       
    nhapmt(b,hang2,cot2); 
       
    inmt(b,hang2,cot2); 

       
    cout<<"\nVay tong cua hai ma tran a,b la: \n"
       
    congmt(a,b,c,hang1,cot1); 
       
    inmt(c,hang1,cot1); 
       
    getch(); 


    void congmt(float a[][10],float b[][10],float c[][10],int hang,int cot

         for (
    int i=0i<hangi++) 
            for (
    int j=0j<cotj++) 
              
    c[i][j] = a[i][j] + b[i][j]; 


    void nhapmt(float a[][10],int hang,int cot

         for(
    int i 0;hang;i++) 
       { 
           for(
    int j 0cotj++) 
          { 
               
    cout<<"Nhap vao phan tu ["<<i<<";"<<j<<"]: "
             
    cin>>a[i][j]; 
          } 
       } 


    void inmt(float a[][10],int hang,int cot

         for(
    int i 0hangi++) 
       { 
            for(
    int j 0cotj++) 
          { 
               
    cout<<a[i][j]<<"\t"
          } 
          
    cout<<endl
       } 
    }  

    Câu 34: Tích 2 ma trận
    PHP:
    #include<conio.h> 
    #include<stdio.h> 
    #include<alloc.h> 
    void main() 

    int *a,*b,*c
    int m,n
    int i,j
    clrscr(); 
    //Nhap so hang so cot 
    printf("Nhap vao m:");scanf("%d",&m); 
    printf("Nhap vao n:");scanf("%d",&n); 
    //Cap phat bo nho 
    a=(int*)calloc(m*n,sizeof(int)); 
    b=(int*)calloc(m*n,sizeof(int)); 
    c=(int*)calloc(m*n,sizeof(int)); 
    // Nhap so lieu va tinh toan 
    for(i=1;i<=m;i++) 
    for(
    j=1;j<=n;j++) 

        
    printf("Nhap vao a[%d,%d]=",i,j);scanf("%d",&a[(i-1+j)+((i-1)*(n-1))]); 

    for(
    i=1;i<=m;i++) 
    for(
    j=1;j<=n;j++) 

        
    printf("Nhap vao b[%d,%d]=",i,j);scanf("%d",&b[(i-1+j)+((i-1)*(n-1))]); 
        
    c[(i-1+j)+((i-1)*(n-1))]=a[(i-1+j)+((i-1)*(n-1))]+b[(i-1+j)+((i-1)*(n-1))]; 

    // xuat cac mang a,b,c ra man hinh 
    for(i=1;i<=m;i++) 
    for(
    j=1;j<=n;j++) 

        
    printf("\t%d",a[(i-1+j)+((i-1)*(n-1))]); 
        if(
    j==n)printf("\n"); 

    printf("\n===========\n"); 
    for(
    i=1;i<=m;i++) 
    for(
    j=1;j<=n;j++) 

        
    printf("\t%d",b[(i-1+j)+((i-1)*(n-1))]); 
        if(
    j==n)printf("\n"); 

    printf("\n===========\n"); 
    for(
    i=1;i<=m;i++) 
    for(
    j=1;j<=n;j++) 

        
    printf("\t%d",c[(i-1+j)+((i-1)*(n-1))]); 
        if(
    j==n)printf("\n"); 

    getch(); 
    }  

    Câu 35: Kiểm tra xem ma trận B có là con của ma trận A không?
    PHP:
    #include<stdio.h>
    #include<conio.h>

    #define N 2
    #define M 5

    void search(int b[N][N],int a[M][M])
    {
        
    int i,j,k,l,m,x,y,dem,demx,demy;
        
    int timthay=1;

        for(
    k=0;k<=M-N;++k)
        {
            for(
    l=0;l<=M-N;++l)
            {
                
    dem=demx=demy=0;
                
    x=l;y=k;
                for(
    i=0;i<N;++i)
                {
                    for(
    j=0;j<N;++j)
                    {
                        if(
    b[i][j]==a[y][x])dem++;
                        ++
    x;++demx;
                        if(
    demx==N){demx=0;x=l;}
                    }
                    ++
    y;++demy;
                    if(
    demy==N){demy=0;y=k;}
                }
                if(
    dem==N*N)break;
            }
            if(
    dem==N*N)break;
        }

        if(
    dem!=N*N)timthay=0;
        if(
    timthay==0)printf("\nKo tim thay");
        else 
    printf("\nTim thay");
    }

    void main()
    {
        
    clrscr();
        
    int a[M][M]={ 12345,
                    
    6789,10,
                    
    11,12,13,14,15,
                    
    16,17,18,19,20,
                    
    21,22,23,24,25};


        
    int b[N][N]={45,
                    
    9,10};

        
    search(b,a);
        
    getch();
    }
     

    thanhluongvt, Seven Voldemortkarateao thích điều này.

  2. minhtt262

    minhtt262 Thành viên mới

    Tham gia:
    22/5/2014
    Bài viết:
    1
    Lượt thích:
    0
    Kinh nghiệm:
    1
    em mới hoc c++,học đến phần file thì không hiểu.e làm bài này mà khi đọc file không sắp xếp được.ac e xem dùm e với
    e cảm ơn!!
     

    Các file đính kèm:

    • bai.txt
      bai.txt
      Dung lượng:
      1,3 KB
      Lượt xem:
      179

Chia sẻ cùng bạn bè


Đang tải...