-
17-07-2014, 11:57 AM #1
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Giúp em tìm lỗi bài toán nhập vào dãy số rồi sắp xếp theo thứ tự tăng dần!
Đây là bài toán của em. Vì mới học nên khi chép bài em ko theo dõi kịp thầy giáo giảng đoạn cuối.
Phần dưới của main(){. Làm thế nào để nó hiện ra màn hình là:
Dãy sau khi đã sắp xếp là: ...
#include <stdio.h>
#include <conio.h>
int a[100], n;
void nhap(){
printf ("
Nhap n: "); scanf ("%d",&n);
for (int i=0;i<n;i++){
printf ("
a[%d]= ",i);
scanf ("%d", &a[i]);
}
}
void in(){
for (int i=0;i<n;i++)
printf (" %d", a[i]);
}
void sapxep(){
int i, j;
for (i=0;i<=n;i++)
for (j=i+1;j<n;j++)
if (a[i]>a[j]){
int t=a[i]; a[i]=a[j]; a[j]=t;
}
}
main(){
int j;
nhap();
printf("
Day so da nhap la: "); in();
for (j=0; j<n; j++){
if (sapxep())
printf("
%d ",a[j]);
}
}View more random threads:
- giúp mình vẽ hình woi!!!!
- Đệ Qui Hàm
- Một bài căn bản C++ và cách sử dụng fgets
- help me! sửa bài từ điển anh-việt, việt-anh
- delay should have prototype.giúp với
- help giúp em sữa lỗi trong hàm tìm kiếm sách và gọi hàm trong chuơng trình quản lí sách
- tháo tác nhập xuất và sử dụng file.txt
- kiểm tra 1 số là tổng các phần tử trong mảng
- giá trị trả về trong hàm
- [ Solved ]Thắc mắc về
trong OOP.
-
17-07-2014, 02:46 PM #2
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Phần đó bạn tự viết chứ nhỉ.
ĐH chứ có phải là phổ thông đâu.
-
17-07-2014, 03:52 PM #3
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi prog10
-
17-07-2014, 05:08 PM #4
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Đây là code mình đã sửa lại rồi.
Bạn nên học kĩ một chút về phần hàm đi.
Mã:#include <stdio.h> #include <conio.h> int a[100], n; void nhap(){ printf (" Nhap n: "); scanf ("%d",&n); for (int i=0;i<n;i++){ printf (" a[%d]= ",i); scanf ("%d", &a[i]); } } void in(){ for (int i=0;i<n;i++) printf (" %d", a[i]); } void sapxep(){ int i, j; for (i=0;i<n;i++)//phai nho hon n thoi chu ban for (j=i+1;j<n;j++) if (a[i]>a[j]){ int t=a[i]; a[i]=a[j]; a[j]=t; } } main(){ int j; nhap(); printf(" Day so da nhap la: "); in(); for (j=0; j<n; j++){ if (sapxep())//ham sap xep co tra ve gia tri printf(" %d ",a[j]); } }
-
17-07-2014, 05:19 PM #5
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
bạn đã thử chạy chuơng trình này chưa. mình vừa thử chạy trên Dev C nó báo lỗi ở chỗ if (sapxep()) dòng cuối ý. Ko chạy đc
-
18-07-2014, 11:05 AM #6
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
OK! thanks bạn. Tiện đây cho mình hỏi luôn. Là mình có bài toán này. Sau khi chạy thì cái dòng "Cac so nguyen to la" nó bị lặp.
Ví dụ có 3 số thì nó lặp luôn 3 dòng. 4 số 4 dòng. Làm thế nào để cho nó viết thành 1 dòng. vd như các số nguyên tố là: 3 7 13...
//Bai toan nhap va dua ra day so co n so
#include <stdio.h>
#include <conio.h>
#include <math.h>
int a[100], n;
int nguyento(int n){
if (n==0||n==1) return 0;
for (int i=2;i<=(int)sqrt(n);i++)
if (n%i==0) return 0;
return 1;
}
void nhap(){
printf ("
Nhap n: "); scanf ("%d",&n);
for (int i=0;i<n;i++){
printf ("a[%d] = ",i);
scanf ("%d",&a[i]);
}
}
void in(){
for (int i=0;i<n;i++)
printf (" %d", a[i]);
}
void timmax(){
int max=a[0], i, b[50], k=0;
for (i=1;i<n;i++){
if (a[i]>max) max=a[i];
}
for (i=0;i<n;i++){
if (a[i]==max){
b[k]=i;
k++;
}
}
printf ("
So lon nhat la %d voi so lan xuat hien la %d tai vi tri",max,k);
for (i=0;i<n;i++)
if (a[i]==max) printf(" %d",i);
}
main(){
int i;
nhap();
printf ("
Day so da nhap: "); in();
timmax();
for(i=0;i<n;i++)
{
if (nguyento(a[i])==1) printf("
Cac so nguyen to la: %d",a[i]);
}
}
-
18-07-2014, 02:47 PM #7
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Xin lỗi bạn.Đây là phần chưa sửa lỗi.Mình chỉ ra chỗ sai cho bạn thôi.
Đây là code.Mình đã chạy rồi.
Mã:#include <stdio.h> #include <conio.h> int a[100], n; void nhap(){ printf (" Nhap n: "); scanf ("%d",&n); for (int i=0;i<n;i++){ printf (" a[%d]= ",i); scanf ("%d", &a[i]); } } void in(){ for (int i=0;i<n;i++) printf (" %d", a[i]); } void sapxep(){ int i, j; for (i=0;i<n;i++) for (j=i+1;j<n;j++) if (a[i]>a[j]){ int t=a[i]; a[i]=a[j]; a[j]=t; } } main(){ nhap(); printf(" Day so da nhap la: "); in(); printf(" Day so sau khi sap xep la: "); sapxep(); in(); getch(); }
-
18-07-2014, 03:46 PM #8
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Thêm 1 biến là "có hay ko có" nữa.
-
18-07-2014, 04:06 PM #9
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Để trong vòng lặp thì nó sẽ in lặp lại.
Muốn chỉ in ra 1 lần thì đặt dòng thông báo trước vòng lặp, trong vòng lặp chỉ in ra các số nguyên tố thôi
Mã:printf(" Cac so nguyen to la: ");for(i = 0;i < n;i++){ if (nguyento(a[i])==1) printf("%d ",a[i]);}
-
20-07-2014, 12:24 PM #10
Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Với n < 100 và a[i] < 100;
Mã:void dem(){ for(int i = 0; i < n; i++) b[a[i]]++;} void in_lan_xuat_hien(){ for(int i = 0; i < 100; i++) if(b[i]) { printf(" So %d xuat hien: %d lan", i, b[i]); }}
khi đề cập đến đội hình MU, không thể ko nói tới một trong các câu lạc bộ bóng đá huyền thoại và với tầm ảnh hưởng nhất trong lịch sử của môn thể thao vua. Với hơn 1 thế kỷ còn đó và phát triển,...
Đội hình MU - Manchester United:...