Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Nhập và in ra tổng các phân số sử dụng con trỏ

  1. #1
    Ngày gia nhập
    10 2008
    Bài viết
    3

    Mặc định Nhập và in ra tổng các phân số sử dụng con trỏ

    Mình đang làm 1 bt về cấu trúc là nhập và in ra tổng các phân số (cũng ở dạng phân số), sắp xếp ps theo thư tự tăng dần. yêu cầu là sử dụng kĩ thuật con trỏ. Nếu sử dụng cấp phát tĩnh thì mình làm được nhưng sử dụng cấp phát động kiểu con trỏ thì khi mình chạy chương trình chẳng hiểu sao cứ đến bước nhập phân số nó lỗi don't send. Mình gửi code lên đây ai biết chỉ giùm mình chỗ sai nha! thank!
    C Code:
    1. #include<conio.h>
    2. #include<stdio.h>
    3. #include<stdlib.h>
    4. typedef struct phanso
    5. {
    6.        int tu, mau;
    7. };
    8. int n;
    9. phanso *a;
    10. void nhap()
    11. {
    12.      phanso *ps;
    13.      ps=(phanso*)calloc(n, sizeof(phanso));
    14.      ps=(phanso*)a;
    15.      for(ps=a;ps<a+n;ps++)
    16.           {
    17.                scanf("%d", ps->tu);
    18.                scanf("%d", ps->mau);
    19.           }
    20. }
    21. void inps()
    22. {
    23.      phanso *ps;
    24.      ps=(phanso*)a;
    25.      for(ps=a;ps<a+n;ps++)
    26.           printf("%d/%d\t", ps->tu, ps->mau);
    27. }
    28. main()
    29. {
    30.       printf("Nhap so phan so: ");
    31.       scanf("%d", &n);
    32.       nhap();
    33.       inps();
    34.       getch();
    35. }

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình đã sửa lại rồi đó. Bạn làm sai tùm lum cả lên, mình code này bạn chép từ đâu đó nên mình đọc thấy nó rất mất trật tự và khó hiểu.

    C++ Code:
    1. #include<conio.h>
    2. #include<stdio.h>
    3. #include<stdlib.h>
    4.  
    5. typedef struct phanso
    6. {
    7.        int tu, mau;
    8. };
    9.  
    10. int n;
    11. phanso *ps;
    12.  
    13. void nhap()
    14. {
    15.      ps=(phanso *)calloc(n, sizeof(phanso));
    16.      for(long i=0;i<n;i++)
    17.      {
    18.          scanf("%d", &ps[i].tu);
    19.          scanf("%d", &ps[i].mau);
    20.      }
    21. }
    22.  
    23. void inps()
    24. {
    25.      for(long i=0;i<n;i++)
    26.          printf("%d/%d\t", ps[i].tu, ps[i].mau);
    27. }
    28.  
    29. main()
    30. {
    31.       printf("Nhap so phan so: ");
    32.       scanf("%d", &n);
    33.       nhap();
    34.       inps();
    35.       getch();
    36. }

    PS : Bạn lần sau đừng có spam nhiều bài ở nhiều box khác nhau.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    10 2008
    Bài viết
    3

    ừ mình hiểu rồi thank bạn nha! Nhưng như thế này thì chỉ sử dụng kiểu con trỏ để cấp phát bộ nhớ động thui à? Còn lúc nhập và in ra là vẫn như mảng tĩnh :|
    Đã được chỉnh sửa lần cuối bởi chippro : 02-10-2008 lúc 03:22 PM.

  4. #4
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    - Cậu gọi calloc, free() để đâu rồi ?
    - Cậu bỏ cách dùng biến toàn cục đi, xài local sẽ dễ debug hơn rất nhiều cậu à

Các đề tài tương tự

  1. Sửa máy tính, cài đặt windows, phần mềm tại nhà nhanh nhất, rẻ nhất, hiệu quả nhất …
    Gửi bởi hopluccc trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 08-07-2013, 02:07 PM
  2. Trả lời: 12
    Bài viết cuối: 25-10-2012, 02:48 AM
  3. Bài tập C++ NHập mảng một chiều gồm n phần tử kết thúc nhập khi nhập một chữ cái
    Gửi bởi thienthanoze trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 15
    Bài viết cuối: 09-07-2012, 10:10 PM
  4. Bài tập C++ Viết phương trình nhập vào 1 chuỗi số.Hãy nhập vào 1 số.Đếm xem có bao nhiêu chữ số bạn vừa nhập
    Gửi bởi namtuocdn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 16-10-2011, 10:39 AM
  5. Bài tập C++ Nhập mảng 1 chiều, nếu phần tử nhập trùng nhau thì bắt nhập lại
    Gửi bởi danielh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 09-07-2011, 03:35 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn