PDA

View Full Version : [Q] viet chuong trinh



xitrai
08-12-2002, 10:48
minh moi học c++3.1 duoc hơn 1 tháng , mình muốn hỏi các bạn lam sao viết chương trình nhập các số nguyên cho dến khi nhâp số 0 thì dừng lại sau đó in ra màn hình số lớn nhất , nhì , ba. ban nào có thể viết dùng mình hẳn một chương trình được ko , nhớ đừng dùng mảng nha.minh cảm ơn rất nhiều .

hieu121081
08-12-2002, 18:41
Bạn nên tham khao cách làm thôi và tự viết lại chương trình để hiểu được thuật toán.
Cách làm của tui ko phải là cách làm tốt nhất. bạn nên tìm cách khác...
Chúc bạn thành công

TinyToon
09-12-2002, 05:25
Nếu chỉ cần in ra 3 biến nhất nhì ba thì không cần lưu vào mảng, lãng phí bộ nhớ, lại không nhập được nhiều dữ liệu. Chỉ cần 3 biến là đủ.

hieu121081
09-12-2002, 20:22
Nhưng có thể mảng này có thể được dùng vào mục đích khác.
Nếu không thì bài này ko có việc gì để làm cả.
Chỉ là thuật toán thôi mà. Yêu cầu nó thế nên phải làm thế.

hieuvc
11-12-2002, 11:10
Hình như tui thấy kí ni` ở bên box nào rùi đó. Giông giống....

tdangkhoa
20-12-2002, 00:04
Nếu cho nhập liên tục (không phải 3 số mà tới khi gặp số 0 thì dừng) mà không cho phép dùng mảng thì chỉ có cách xài cấu trúc liên kết thôi.

struct Node{
int value;
Node *next;
}

class List{
Node *head;
// Constructor, destructor, method....
}

White_Rose
21-12-2002, 01:13
Gì mà ghê vậy? làm như dưới có được không? Nếu sai thì sorry nhé vì WR chưa học C, hic.


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

void main(){
int max1, max2, max3, num;

clrscr(); //he he, thói quen với mọi chương trình thôi lol
//Bắt nhập 3 số, bất kể nó là 0 hay không để ít ra cũng có 3 số nhất, nhì, ba
scanf("%d%d%d",&max1,&max2,&max3);
if (max1<max2){
num=max1; max1=max2; max2=num;
}
if (max1<max3){
num=max1; max1=max3; max3=num;
}
if (max2<max3){
num=max2; max2=max3; max3=num;
}
//Thực hiện yêu cầu
scanf("%d",&num);
do while (num!=0){
if (num>=max1){
max3=max2; max2=max1; max1=num;
}
else{
if (num>=max2){
max3=max2; max2=num;
}
else{
if (num>max3)max3=num;
}
}
scanf("%d",&num);
}
printf("%d -> %d -> %d", max1, max2, max3);
getch();
}

xitrai
27-12-2002, 11:38
cảm ơn các bạn nhiều, bài cuối của ban white_rose là đúng ý thầy mình nhất đó