Chủ đề: Vd struct này sai ở đâu
-
22-12-2011, 08:13 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Vd struct này sai ở đâu
Mã:#include <iostream>using namespace std; struct sinhvien { char ten[30]; int namsinh; }*thongtin; void nhap(sinhvien *thongtin, int soluong) { for (int i=0; i<soluong; i++) { cout << "Sinh vien " << i+1 << ": "<< endl; cout << "Ten: " ; cin.getline(thongtin[i].ten, 30); cout << "Nam sinh: " ; cin >> thongtin[i].namsinh; cout << endl; } } void xuat(sinhvien *thongtin, int soluong) { for (int i=0; i<soluong; i++) { cout << "Ten: " << thongtin[i].ten << endl; cout << "nam sinh: " << thongtin[i].namsinh << endl; } } int main() { int soluong; thongtin = new sinhvien [soluong]; cout << "So luong sinh vien ban muon nhap: "; cin >> soluong; nhap(thongtin, soluong); xuat(thongtin, soluong); system("pause"); return 0; }
Theo em hiểu thì mình cần cấp bộ nhớ cho phần nhập tên nhưng không biết phải cấp thế nào cho đúng.
2.Khi em đọc sách có ví dụ về typedef và struct :
Mã:typedef struct { int day; int month; int year; }date;typedef struct { char name[30]; date birthday; char role[20]; float salary; }employee; struct date { int day; int month; int year; };struct employee { char name[30]; date birthday; char role[20]; float salary; };
3.Cùng ví dụ 1 em viết chương trình tính điểm lớn nhất và nhỏ nhất của các sinh viên nhưng khi mình nhập vào trong đó có ít nhất 2 sinh viên cùng có điểm lớn nhất (nhỏ nhất) khi xuất ra chỉ ra 1 sinh viên có số diểm LN NN.
Các bác bảo em làm thế nào để xuất ra tất cà sinh viên có cùng số điểm LN NN.View more random threads:
- Lỗi nhập trong kiểu dữ liệu
- mình bị lỗi đối số con trỏ không đúng trong bài toán tam giác
- Hỏi về hàm malloc
- Dấu mũi tên trong C có ý nghĩa gì?
- Lỗi Undefined structure là thế nào đây các anh chị?
- Thắc mắc về toán tử
- mong các pro sủa lỗi chương trình giúp mình :)
- Nhờ giúp: lựa chọn card sound bằng C#
- Giải thích thành phần phần mềm.
- tìm số hoàn hảo lớn nhất trong mảng
-
22-12-2011, 04:08 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi megadracula
-
23-12-2011, 06:25 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
3.Cùng ví dụ 1 em viết chương trình tính điểm lớn nhất và nhỏ nhất của các sinh viên nhưng khi mình nhập vào trong đó có ít nhất 2 sinh viên cùng có điểm lớn nhất (nhỏ nhất) khi xuất ra chỉ ra 1 sinh viên có số diểm LN NN.
Các bác bảo em làm thế nào để xuất ra tất cà sinh viên có cùng số điểm LN NN.
Khi bạn tìm max hay min gì đấy bạn sẽ chỉ trả về Đúng 1 phần tử (vị trí) có giá trị "không thể lớn hơnhỏ hơn"
Vậy còn trường hợp "nhièu max/min = nhau" Bạn sẽ phải cho "luộc" lại mảng xem có "em nào" = như vậy nữa thì "xúc" [IMG]images/smilies/biggrin.png[/IMG]
- À nếu cái mảng bạn vì chuyện gì đấy, trước khi tìm CÁC(chứ ko phải tìm 1) phàn tử max/min mà đã được sắp xếp thì chỉ việc cho chạy từ đầu mảng, hoặc cuối mảng. chạy cho đến khi nào giá trị phần tử bị thay đổi thì tức là hoàn tất việc "xúc" các phần tử max/min
-
23-12-2011, 06:37 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi clchicken
-
23-12-2011, 06:52 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Ko phải thế. Vì khi đang trong giai đoạn tìm max(hoặc min) thì vẫn chưa hoàn tất, vì chưa duyệt hết mảng. Cho nên max chưa biết.
Mà max chưa biết thì chưa thể tìm tất cả phần tử = max dc [IMG]images/smilies/biggrin.png[/IMG]
Phải tìm max xong. Rồi cho duyệt lại xem thằng ku nào = max thì cho ra output (màn hình hoặc 1 mảng lưu vị trí của chúng , hoặc là đếm số lượng... vân vân) mới ổn [IMG]images/smilies/biggrin.png[/IMG]
Trường hợp đã dc sắp thì quá khỏe [IMG]images/smilies/biggrin.png[/IMG] . Chạy lúc nào mà phần tử mang giá trị khác thì byebye vòng lặp đó bạn ^^ hehehehe
Mỗi liệu pháp tại Queen Spa là một hành trình chiều chuộng bản thân, giúp bạn tìm lại sức sống và năng lượng mới. Không gian của Queen Spa được thiết kế sao cho tối ưu hóa sự thoải mái và thư giãn...
Sống Đẹp và Khỏe Mạnh với Queen...