Go Back   VN-Zoom Forum > Chia sẻ kiến thức > Lập trình > Pascal | C/C++

 



Trả lời Gửi Ðề Tài Mới
 
Ðiều Chỉnh Xếp Bài
Old 08-08-2008, 18:10   #1
Búa Đá Đôi
 
chungcmc's Avatar
 
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
Question giúp tớ bài C cơ bản này với

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();
}
chungcmc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-08-2008, 05:06   #2
Rìu Sắt Đôi
 
darling's Avatar
 
Tham gia: Dec 2007
Bài: 237
VZD: 5.951
Điểm: 85/48 bài viết
Cool

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; 
                        }
              }
        }
}
lưu ý:
Đ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
__________________
http://it9x.co.cc


thay đổi nội dung bởi: darling, 02-09-2008 lúc 05:29
darling vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-08-2008, 07:55   #3
Búa Đá Đôi
 
chungcmc's Avatar
 
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
Default

thanks bạn đã chỉ giáo giúp mình nha
chungcmc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-08-2008, 17:10   #4
Gà Con
 
mymother's Avatar
 
Tham gia: Mar 2008
Bài: 3
VZD: 930
Điểm: 0/0 bài viết
Default

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
mymother vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-08-2008, 17:12   #5
Gà Con
 
mymother's Avatar
 
Tham gia: Mar 2008
Bài: 3
VZD: 930
Điểm: 0/0 bài viết
Default

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.
mymother vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-08-2008, 17:57   #6
Rìu Sắt Đôi
 
darling's Avatar
 
Tham gia: Dec 2007
Bài: 237
VZD: 5.951
Điểm: 85/48 bài viết
Default

Trích:
mymother View Post
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.
Do bên sever có vấn đề nên các link bài tập ko vào đc, hiện mình đang xem lại
thanks
__________________
http://it9x.co.cc

darling vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-09-2008, 02:54   #7
Gà Con
 
damotcai's Avatar
 
Tham gia: Jan 2008
Bài: 6
VZD: 513
Điểm: 0/0 bài viết
Default

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)
damotcai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-09-2008, 03:16   #8
Gà Con
 
damotcai's Avatar
 
Tham gia: Jan 2008
Bài: 6
VZD: 513
Điểm: 0/0 bài viết
Default

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 !
damotcai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-09-2008, 05:31   #9
Rìu Sắt Đôi
 
darling's Avatar
 
Tham gia: Dec 2007
Bài: 237
VZD: 5.951
Điểm: 85/48 bài viết
Default

Trích:
mymother View Post
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
Bạn nói rõ hơn đc ko???


Trích:
damotcai
Code:
{
      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++
clrscr(); --> lệnh này là xóa hết màn hình, chỉ dùng Tubro C hay F-C, còn visual C ko đc

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?
__________________
http://it9x.co.cc


thay đổi nội dung bởi: darling, 02-09-2008 lúc 05:41
darling vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-09-2008, 17:35   #10
Gà Con
 
damotcai's Avatar
 
Tham gia: Jan 2008
Bài: 6
VZD: 513
Điểm: 0/0 bài viết
Default

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
damotcai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-09-2008, 17:51   #11
Rìu Sắt Đôi
 
darling's Avatar
 
Tham gia: Dec 2007
Bài: 237
VZD: 5.951
Điểm: 85/48 bài viết
Default

tất nhiên bạn à. Cái gì mà ko khó, cứ mà "đấu tranh với nó" bạn sẽ giỏi thôi. Chúc bạn thành công.
Chúng ta cùng học hỏi vậy nha

web C/C++ -->
__________________
http://it9x.co.cc

darling vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-09-2008, 19:27   #12
Rìu Sắt Đôi
 
kidrock92's Avatar
 
Tham gia: Mar 2008
Đến từ: TP Hồ Chí Minh
Bài: 292
VZD: 6.288
Điểm: 320/77 bài viết
Default

huhu em mới bit sơ sơ visual nên hok bit giúp jì
kidrock92 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-09-2008, 03:08   #13
Gà Con
 
damotcai's Avatar
 
Tham gia: Jan 2008
Bài: 6
VZD: 513
Điểm: 0/0 bài viết
Default

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
damotcai vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời Gửi Ðề Tài Mới

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
Bạn không thể gửi chủ đề mới
Bạn không thể gửi trả lời
Bạn không thể gửi file đính kèm
Bạn không thể tự sửa bài viết của bạn

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Trackbacks are Tắt
Pingbacks are Tắt
Refbacks are Tắt
Chuyển đến


Múi giờ GMT +7. Hiện tại là 15:22.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
Từ điển được cung cấp bởi VDict.com - Hosting được tài trợ bởi Rao vặt 123