![]() |
|
|
#1 |
|
Búa Đá Đôi
![]() Tham gia: Jun 2008
Đến từ: vie^t tri` phu' tho.
Bài: 114
VZD: 3.530
Điểm: 157/33 bài viết
|
tớ mới học môn C nên còn chưa biết mình nhiều lắm,tớ đã làm một bài tập thầy co như sau:
lập trình thực hiện các việc sau: a,điền các số chia hết cho 3 từ 1 đến 50 vào một mảng số nguyên b,hiện mảng ra màn hình và tính tổng của chúng c,sắp xếp các số lẻ lên đầu mảng và tăng dần,còn lại số chẵn giảm dần và hiện mảng mới tớ đã làm được ý a và b nhưng ý C chưa biết làm mong mọi người cho ý kiến về phần C với mình đang cần gấp làm xong bài này ![]() ![]() ý a và b tớ sẽ copy code lên mọi người xem có được ko nha: #include<conio.h> #include<stdio.h> void main() { clrscr(); int a[50],n,i,j,tg,tong=0; printf("nhap n:");scanf("%d",&n); for(i=0;i<n;i++) { printf("\na[%d]:",i);scanf("%d",&a[i]); } printf("mang vua nhap la:"); for(i=0;i<n;i++) {printf("%5d",a[i]);} // tong=0; printf("\ncac so chia het cho 3:"); for(i=0;i<n;i++) if(a[i]%3==0) { printf("\n%5d",a[i]); tong=tong+a[i]; } printf("\ntong cac so chia het cho 3:%d",tong); getch(); } |
|
|
|
|
|
#2 |
|
Rìu Sắt Đôi
![]() Tham gia: Dec 2007
Bài: 237
VZD: 5.951
Điểm: 85/48 bài viết
|
mình nói sơ wa cho bạn hiểu nha.
Dùng vòng for thứ 1: Đầu tiên mình cho mảng chạy trong vòng for( i=0; i<n; i++) như vậy chỉ cần gặp lẻ thì cứ đưa lên đầu (tức là cho số lẻ vừa tìm thấy nằm ngay vi trí a[0], dùng hàm lùi mảng nhé), thì cứ cho chạy hết vòng for thì giá trị lẻ đã bị đẩy lên trên và còn lại sẽ là chẵn thôi. Dùng vòng for thứ 2: Lưu ý: lúc này mảng đã sắp lẻ trc chẵn sau trong for bạn cho 2 điều kiện: if là lẻ thì tiến hành sắp xếp lại tăng dần if là chẵn thì Giảm dần Code:
void duachanvedau(int a[], int k)
{
int tam = a[k];
for(int i = k ; i>0; i--)
{
a[i] = a[i-1];
}
a[0] = tam;
}
void sapxep(int a[], int n)
{
int i,j,tam;
int vitrichancuoi;
for (i=0; i<n; i++)
{
if (a[i] %2 == 0)
{
duachanvedau(a,i); //vi tri i
}
}
for (i=0;i<n;i++)
{
for (j=i+1; j<n;j++)
{
if (a[i]%2==0 && a[j]%2==0 && a[i]>a[j])
{
tam = a[i];
a[i] = a[j];
a[j] = tam;
}
else if (a[i]%2!=0 && a[j] %2 !=0 && a[i]<a[j])
{
tam = a[i];
a[i] = a[j];
a[j] = tam;
}
}
}
}
Điều kiện thứ 2: ko để else ko, nếu để else ko chỉ if lần đầu sai 1 điều kiện bên trong là else sẽ thực hiện (nhớ là mảng sắp theo lẻ chẵn nên sẽ có lúc lẻ và chẵn giao nhau, else if (... ) là để loại bỏ trường hợp đó) -Freb thay đổi nội dung bởi: darling, 02-09-2008 lúc 05:29 |
|
|
|
|
|
#3 |
|
Búa Đá Đôi
![]() Tham gia: Jun 2008
Đến từ: vie^t tri` phu' tho.
Bài: 114
VZD: 3.530
Điểm: 157/33 bài viết
|
thanks bạn đã chỉ giáo giúp mình nha
|
|
|
|
|
|
#4 |
|
Gà Con
![]() Tham gia: Mar 2008
Bài: 3
VZD: 930
Điểm: 0/0 bài viết
|
ban ơi giúp mình dc ko,mình muốn chữ trong C khi ấn alt+F9 chạy ra như kiểu đang viết ấy thì làm thế nào ?còn kiểu chử bay ra thì mình làm được rồi
|
|
|
|
|
|
#5 |
|
Gà Con
![]() Tham gia: Mar 2008
Bài: 3
VZD: 930
Điểm: 0/0 bài viết
|
sao mấy link bài tập c ở trên chẳng cái nào được vậy. Bạn có thể cũng cấp cho mình link nào có bài tập c không minh học lập chình kém nắm.
|
|
|
|
|
|
#6 | |
|
Rìu Sắt Đôi
![]() Tham gia: Dec 2007
Bài: 237
VZD: 5.951
Điểm: 85/48 bài viết
|
Trích:
thanks |
|
|
|
|
|
|
#7 |
|
Gà Con
![]() Tham gia: Jan 2008
Bài: 6
VZD: 513
Điểm: 0/0 bài viết
|
cho mình bài tập ở trên ( ai nhiệt tình giúp đở mình nha :! mới vào nghề tự học trên mang nên có chút khó khăn)
{ clrscr(); ===> ý nghĩa hàm này int a[50],n,i,j,tg,tong=0; n, i ,j,tong=0; nghĩ hoài hok hiểu có nghĩa gì printf("nhap n:");scanf("%d",&n); "nhap n;"(tại sao có nháy kép ""); ("%d",&n) for(i=0;i<n;i++) i=0;i<n;i++ tạm thời hỏi nhiu đây thôi hỏi nhièu mình cũng ngại sory đã làm phiền ( chắc phải ra trung tâm học cho biết) |
|
|
|
|
|
#8 |
|
Gà Con
![]() Tham gia: Jan 2008
Bài: 6
VZD: 513
Điểm: 0/0 bài viết
|
mình có coppy bài của bạn chungCMC vào C-free để nghiên cứu nhưng hok biết làm sao đễ no chạy dc, bình thường mình dùng f5 và f9 để chạy nhưng lần này hok đc giúp đỡ mình thank !
|
|
|
|
|
|
#9 | ||
|
Rìu Sắt Đôi
![]() Tham gia: Dec 2007
Bài: 237
VZD: 5.951
Điểm: 85/48 bài viết
|
Trích:
Trích:
int n,i ,j, tg, tong=0 ---> chỉ là khai báo biến kiểu int thôi, và mỗi biến sẽ chiếm 1 lượng nhỏ của bộ nhớ máy printf("nhap n: "); ----> ko có dấu nháy đâu, công thức của printf("......."); những gì nằm trong ngoặc kép sẽ đc in ra. Bạn muốn in dấu ngoặc kép thì bạn ghi thế này: printf("\"Nhap n : \""); còn dòng for(i=0;i<n;i++) --> Bạn muốn hỏi gì??? mình nói luôn vậy, chỉ là cho biến i chạy từ giá trị 0 đến khi bằng n-1 (ko lấy n nha thêm dấu = mới lấy n) ko biết mình giải thích thế bạn hiểu ko? thay đổi nội dung bởi: darling, 02-09-2008 lúc 05:41 |
||
|
|
|
|
|
#10 |
|
Gà Con
![]() Tham gia: Jan 2008
Bài: 6
VZD: 513
Điểm: 0/0 bài viết
|
hì học trình coi bộ khó khăn đây
ngồi 1 buổi tìm hiểu cũng thấy thú vị thiệt thank nha . phải làm phiền bạn nhiu` rồi
|
|
|
|
|
|
#11 |
|
Rìu Sắt Đôi
![]() Tham gia: Dec 2007
Bài: 237
VZD: 5.951
Điểm: 85/48 bài viết
|
|
|
|
|
|
|
#12 |
|
Rìu Sắt Đôi
![]() Tham gia: Mar 2008
Đến từ: TP Hồ Chí Minh
Bài: 292
VZD: 6.288
Điểm: 320/77 bài viết
|
huhu em mới bit sơ sơ visual nên hok bit giúp jì
__________________
Nếu thấy hay thì click ![]() ![]() ![]() Counter-Strike condition zero Một số thủ thuật để trở thành tay súng cự phách thủ thuật CS 1.6 mà game thủ nào cũng cần phải có |
|
|
|
|
|
#13 |
|
Gà Con
![]() Tham gia: Jan 2008
Bài: 6
VZD: 513
Điểm: 0/0 bài viết
|
mình cũng giống bạn thôi ! mình góp ý cho bạn theo cách học trên mạng và ở nhà của mình nè
![]() bạn phải hiểu rõ lập trình để làm gì trườc cái đã rồi quyết định có đi theo nó hay ko kiếm tài liệu về lap trình : ngồi và đọc : sao đó chạy ra nhà sách kiếm ( mình chọn cuốn của thành thạo C++ trong vòng 21 ngày của Đậu quang tuấn ) đọc dễ hiểu lắm.đọc đến đâu là thực hành đến đó . còn thực hành ko dc thì lên mạng hỏi
|
|
|
|