Đăng Nhập

Vui lòng khai báo chính xác tên truy cập và mật khẩu!

Quên mật khẩu?

    Tổng hợp bài tập c/c++ Thông dụng

      Admin
      Admin

      Giới tính : Nam

      Đến từ : TPHCM

      Ngày Tham gia : 03/04/2011

      Tổng số bài gửi : 2292

      #1

       Thu Aug 11, 2011 9:40 pm

      Mục lục:
      Trang 1
      1.GIẢI PHƯƠNG TRÌNH BẬC NHẤT
      2.TÍNH CĂN BẬC HAI THEO PHƯƠNG PHÁP LẶP NEWTON
      3.CẤU TRÚC VÀ CÁC HÀM THAO TÁC TRÊN SỐ PHỨC
      4.DÃY TĂNG DẦN
      5.DÃY TĂNG CÓ TỔNG DÀI NHẤT
      6.QUẢN LÝ SINH VIÊN
      7.GIẢI PHƯƠNG TRÌNH BẬC HAI
      8.MA PHƯƠNG
      9.FILE VÀ HỆ THỐNG

      Trang 2

      1.SẮP XẾP MẢNG
      2.Một ví dụ về Đa hình
      3.Tiếp một ví dụ về Đa hình
      4.Tổng hai ma trận
      5.Một ví dụ về sử dụng template và quá tải toán tử Nhập xuất
      6.Ví dụ về quá tải toán tử
      7.Đếm số lần xuất hiện của các ký tự trong chuỗi
      8.Bài toán Ancarokhi
      9.Chứng minh đẳng thức An Casi
      10.Hiện bảng mã ASCII
      11.In ra năm âm lịch tương ứng với năm nhập vào.
      12.In ra bảng cửu chương
      13.Nhập chuỗi và in chuỗi
      14.Giải hệ phương trình bậc nhất.
      15Tính thứ của ngày

      Trang 3
      1.Chuyển số La Mã sang số Ả rập
      2.Chuyển năm sang số La Mã
      3.Thuật toán sắp xếp bẳng Radix sort
      4.Danh sách liên kết đơn (Thuật toán vừa chèn vừa sắp xếp)
      5.Quá tải toàn tử nhập xuất và sử dụng template
      6.Chương trình đếm số ký tự trong một chuỗi ASCII
      7.Biểu diễn số dưới dạng bit
      8.Đảo chuỗi
      9.Chương trình xem tập tin
      10.Giải bài toán trâu ăn cỏ
      11.Loại bỏ khoảng trống thừa trong chuỗi
      12.Tìm tất cả các ước của một số N
      13.Bội số chung và ước số chung
      14.Trộn 2 dãy giảm thành một dãy tăng
      15.Tính tích 2 ma trận:
      16.In danh sách các số hoàn hảo nhỏ hơn số N nhập từ user

      Trang 4
      1.Bài in ra lịch của một năm bất kỳ lớn hơn 1700
      2.Bài tập kiểm tra dấu ngoặc đúng.
      3.Bài toán Tám Hoàng Hậu
      4.In ra số Hex tương ứng với một số nguyên dương
      5.Liệt kê các hoán vị của N phần tử
      6.In chuỗi theo các từ mỗi từ một dòng
      7.In ra chữ số hàng trăm hàng chục hàng đơn vị
      8.Tìm phần tử lớn nhất nhỏ nhất trong mảng một chiều
      9.Tính tổ hợp chập K của N phần tử
      10.Chương trình đọc số có 1,2 hoặc 3 chữ số.
      11.Tính số ngày trong một tháng trong một năm bất kỳ
      12.Bài kiểm tra số nguyên tố
      13.Tìm max min của 4 số
      14.Tìm n số Fibonaci đầu tiên

      Trang 5
      1.(Ngân hàng)Tìm số tiền nhận trong n tháng khi biết lãi xuất
      2.In ra dãy số ngược so với dãy số nhập vào
      3.Trò chơi 8 hòn bi
      4.Kiểm tra số đối xứng
      5.Điền giá trị cho một mảng vuông theo chiều kim đồng hồ
      6.In hình tam giác
      7.Trộn hai mảng tăng dần thành một mảng tăng dần
      8.Tìm vị trí đầu và vị trí cuối của một số trong một dãy số
      9.Tính x^1/1! + x^2/2! + x^3/3! + ... + x^n/n!
      10.Trình bày các bước chuyển n đĩa từ cọc A sang cọc C trong bài toán Tháp Hà Nội dùng 3 đĩa
      11.Trình bày các bước chuyển n đĩa từ cọc A sang cọc C trong bài toán Tháp Hà Nội dùng 4 đía
      [You must be registered and logged in to see this link.]
      Code:

      http://www.mediafire.com/?nym5nktyynm
      THẮC MẮC GÌ THÌ ZÔ [You must be registered and logged in to see this link.]


      Được sửa bởi Admin ngày Thu Nov 17, 2011 12:36 pm; sửa lần 4.
      Admin
      Admin

      Giới tính : Nam

      Đến từ : TPHCM

      Ngày Tham gia : 03/04/2011

      Tổng số bài gửi : 2292

      #2

       Thu Aug 11, 2011 9:48 pm

      TÍNH CĂN BẬC HAI THEO PHƯƠNG PHÁP LẶP NEWTON
      Code:

      #include <stdio.h>
      #include <math.h>

      void main()
      {
      double a, xn, ketqua;

      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();
      }
       



      Re: tổng hợp bài tập c/c++
      « Reply #3 on: February 20, 2009, 09:21:58 AM »
      CẤU TRÚC VÀ CÁC HÀM THAO TÁC TRÊN SỐ PHỨC
      Code:

      Code:
      #include <math.h>

      typedef struct tagcomplex {
      float thuc, ao;
      } complex;

      complex tong(complex a, complex
      {
      complex c;
      c.thuc = a.thuc + b.thuc;
      c.ao = a.ao + b.ao;
      return c;
      }

      complex hieu(complex a, complex
      {
      complex c;
      c.thuc = a.thuc - b.thuc;
      c.ao = a.ao - b.ao;
      return c;
      }

      complex tich(complex a, complex
      {
      complex c;
      c.thuc = a.thuc*b.thuc - a.ao*b.ao;
      c.ao = a.thuc*b.ao + a.ao*b.thuc;
      return c;
      }

      complex thuong(complex a, complex
      {
      complex c;
      float tongbp;
      tongbp = b.thuc*b.thuc + b.ao*b.ao;
      c.thuc = (a.thuc*a.ao + b.thuc*b.ao)/tongbp;
      c.ao = (a.ao*b.thuc - a.thuc*b.ao)/tongbp;
      return c;
      }

      float argument(complex a)
      {
      return acos(a.thuc/sqrt(a.thuc*a.thuc + a.ao*a.ao));
      }

      float modul(complex a)
      {
      return sqrt(a.thuc*a.thuc + a.ao*a.ao);
      }

      void print_complex(complex a)
      {
      printf("%.2f + %.2fi", a.thuc, a.ao);
      }

      void main()
      {
      complex a, b, c;
      printf("\nNhap he so thuc va phuc cua A : ");
      scanf("%f%f", &a.thuc, &a.ao);
      printf("\nNhap he so thuc va phuc cua B : ");
      scanf("%f%f", &b.thuc, &b.ao);
      printf("\nSo phuc A = ");
      print_complex(a);
      printf("\nSo phuc B = ");
      print_complex( ;
      printf("\nTong cua chung = ");
      c = tong(a, ;
      print_complex©;
      printf("\nHieu cua chung = ");
      c = hieu(a, ;
      print_complex©;
      printf("\nTich cua chung = ");
      c = tich(a, ;
      print_complex©;
      printf("\nThuong cua chung = ");
      c = thuong(a, ;
      print_complex©;
      printf("\nArgument cua a = %f", argument(a));
      printf("\nModul cua a = %f", modul(a));
      getch();
      }



      Re: tổng hợp bài tập c/c++
      « Reply #4 on: February 20, 2009, 09:23:33 AM »
      DÃY TĂNG DẦN
      Code:

      #include <stdio.h>

      void main()
      {
      int a[10], i, maxstart, maxend, maxlen, tmpstart, tmpend, tmplen;

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

      maxstart = maxend = tmpstart = tmpend = 0;
      maxlen = tmplen = 1;
      for (i=1; i< 10; i++)
      {
      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=maxstart; i<=maxend; i++)
      printf("%6d", a[i]);
      getch();
      }
             

      DÃY TĂNG CÓ TỔNG DÀI NHẤT

      Code:

      #include <stdio.h>

      void main()
      {
      int a[10], i, maxstart, maxend, maxtotal, tmpstart, tmpend, tmptotal;

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

      maxstart = maxend = tmpstart = tmpend = 0;
      maxtotal = tmptotal = a[0];
      for (i=1; i< 10; i++)
      {
      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=maxstart; i<=maxend; i++)
      printf("%6d", a[i]);
      getch();
      }
       


      Re: tổng hợp bài tập c/c++
      « Reply #5 on: February 20, 2009, 09:24:42 AM »
      QUẢN LÝ SINH VIÊN


      Code:

      #include <stdio.h>
      #include <ctype.h>
      #include <mem.h>
      #include <string.h>

      #define MAX 100
      #define TOAN 0
      #define LY  1
      #define HOA  2

      struct sinhvien {
        char mslop[5];
        char hoten[35];
        float diem[3];
      } danhsach[MAX];
      int n = 0;

      void nhapmoi()
      {
        char mslop[5], tmp[3];
        int i;
        float diem[3];
        do {
          printf("\nCho biet ma so lop : ");
          gets(mslop);
          if (strlen(mslop))
          {
            strcpy(danhsach[n].mslop, mslop);
            printf("\nCho biet ho ten : ");
            gets(danhsach[n].hoten);
            printf("\nCho biet diem so : ");
            for (i=0; i<3; i++)
            {
              scanf("%f", &diem[i]);
              danhsach[n].diem[i] = diem[i];
            }
            gets(tmp);
            n++;
          }
        } while (strlen(mslop));
      }

      void timkiem()
      {
        char mslop[5];
        int i = 0, found = 0;
        printf("\nCho biet ma so lop : ");
        gets(mslop);
        if (strlen(mslop))
          while (i<n)
            if (stricmp(danhsach[i].mslop, mslop) == 0)
            {
              printf("\nMa so lop : %s", danhsach[i].mslop);
              printf("\nHo va ten : %s", danhsach[i].hoten);
              printf("\nDiem Toan : %f", danhsach[i].diem[TOAN]);
              printf("\nDiem Ly  : %f", danhsach[i].diem[LY]);
              printf("\nDiem Hoa  : %f", danhsach[i].diem[HOA]);
              found = 1;
              break;
            }
            else
              i++;
        if (!found)
          printf("\nKhong tim thay!!!");
      }

      void xoa()
      {
        char mslop[5], traloi;
        int i = 0, j;
        printf("\nCho biet ma so lop : ");
        gets(mslop);
        if (strlen(mslop))
          while (i<n)
            if (stricmp(danhsach[i].mslop, mslop) == 0)
            {
              printf("\nMa so lop : %s", danhsach[i].mslop);
              printf("\nHo va ten : %s", danhsach[i].hoten);
              printf("\nDiem Toan : %f", danhsach[i].diem[TOAN]);
              printf("\nDiem Ly  : %f", danhsach[i].diem[LY]);
              printf("\nDiem Hoa  : %f", danhsach[i].diem[HOA]);
              printf("\nCo muon xoa khong (C/K)? ");
              do {
                traloi = toupper(getch());
              } while (traloi != 'C' && traloi != 'K');
              putc(traloi, stdout);
              if (traloi == 'C')
              {
                n--;
                memcpy(&danhsach[i], &danhsach[i+1], sizeof(struct sinhvien) * (n-i));
                break;
              }
            }
            else
              i++;
      }

      void menu()
      {
        printf("\n***************");
        printf("\n* 1. Them    *");
        printf("\n* 2. Xoa      *");
        printf("\n* 3. Tim kiem *");
        printf("\n* 0. Thoat    *");
        printf("\n***************");
        printf("\nChon lua ? ");
      }

      void main()
      {
        char traloi;
        do {
          menu();
          do {
            traloi = getch();
          } while (traloi < '0' || traloi > '3');
          putc(traloi, stdout);
          switch (traloi)
          {
            case '1' : nhapmoi();
                        break;
            case '2' : xoa();
                        break;
            case '3' : timkiem();
                        break;
          }
        } while (traloi != '0');
      }




       


      Re: tổng hợp bài tập c/c++
      « Reply #6 on: February 20, 2009, 09:27:24 AM »
      GIẢI PHƯƠNG TRÌNH BẬC HAI

      Code:

      #include <stdio.h>
      #include <math.h>
      void main()
      {
      float a, b, c, delta;

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

      delta = b * b - 4 * a * c;
      if (delta<0)
      printf("Phuong trinh vo nghiem");
      else if (delta == 0)
      printf("Phuong trinh co nghiem kep x1 = x2 = %f", -b/(2*a));
      else
      {
      printf("Phuong trinh co hai nghiem phan biet\nx1 = %f", (-b + sqrt(delta))/(2*a));
      printf("\nx2 = %f", (-b - sqrt(delta))/(2*a));
      }
      getch();
      }
      MA PHƯƠNG

      Code:

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

      // func declaration
      void matrix( int 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 ( n % 2 == 0 ) printf("\n Invalid input value .. Plz re-input ... \n");
          }
          while ( n % 2 == 0 );
         
          if ( n > 20 ) { n = 19 ; // in case of n is greater than 20
          printf("\n %d is greater than 20 & set to be default as 19 .",n ); } // end if
         
          // call matrix()
          matrix(n);
          // stop to watch
          getch();
          return 0;
      }

      // function matrix(int n)
      void matrix( int n )
      {
          int a[20][20];
          int i, j, row, col, count = 1;
          int old_row, old_col, sum = 0;
         
          // set starting value of array
          for ( i = 0 ; i < n ; i++ )
          for ( j = 0 ; j < n ; j++ )
              a[i][j] = 0;
         
          // set the 1st value to start
          row = 0; col = (n-1) / 2;
         
          while ( count < n*n + 1 )
          {
                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 == -1 ) row = n - 1;
                col += 1; if ( col == n ) col = 0;
                // in case of already having number
                if ( a[row][col] != 0 )
                {
                      row = old_row + 1;
                      col = old_col;
                } // end if
          } // end while
          // print result
          printf("\n");
          for ( i = 0 ; i < n ; i++ )
          {
          for ( j = 0 ; j < n ; j++ )
              printf("%4d",a[i][j]);
          printf("\n");
          } // end for
         
          // calculate sum
          for ( j = 0 ; j < n ; j++ )
              sum += a[0][j];
          printf("\n Sum of each row - column - diagonal line is : %d " , sum);
         
          return;
      }
       


      Trung Binh
      KhangITSGU

      Giới tính : Nam

      Tuổi : 31

      Đến từ : vn

      Ngày Tham gia : 31/10/2011

      Tổng số bài gửi : 57

      #3

       Thu Nov 17, 2011 10:30 am

      a Nhật nếu tốt thì a làm luôn cái hướng dẫn ý tưởng cũng như thuật toán để giải từng bài tập dc ko a, đọc code nhìu cái e chưa học tới ak anh, nên khó =.="
      #4