codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
/* Bài 258/74/SBT Thầy NTTMK:Hãy sắp xếp các số nguyên tố trong mảng các số nguyên tăng dần,các giá trị khác giữ nguyên giá trị và vị trí. 161.cpp */ /* Tác giả: Nguyễn Việt Nam Sơn Trung tâm đào tạo tin học - Thiết kế phần mềm - Sơn Đẹp Trai: www.SonDepTrai.com Nguồn source code này Tôi viết vào năm 2012 lúc mới bắt đầu học lập trình C/C++ nên một số cách sẽ không được tối ưu - Bạn chỉ nên dùng trên tinh thần tham khảo thôi nhé. Mong giúp đỡ được Bạn trên con đường Học Lập Trình. TẤT CẢ VÌ SỰ THÀNH CÔNG CỦA BẠN */ #include <stdio.h> #include <conio.h> #include <math.h> #define MAX 10 void main() { int a[MAX], b[MAX]; int j = 0, temp; bool bl; // nhập mảng for (int i = 0; i < MAX; i++) { printf("nhap 1 so nguyen: "); scanf("%d", & a[i]); } // in ra mảng trước khi sắp xếp printf("mang truoc sap xep: "); for (int i = 0; i < MAX; i++) printf(" %d", a[i]); // Kiểm tra số nào là số nguyên tố, gán vị trí của nó vào mảng b for (int i = 0; i < MAX; i++) { bl = true; for (int z = 2; z <= sqrt((float)a[i]); z++) { if (a[i] % z == 0) { bl = false; break; } } if (bl) { b[j] = i; j++; } } // Sắp xếp các phần tử là số nguyên tố (vị trí đã được lưu trong mảng b) theo thứ tự giảm dần for (int i = 0; i < j - 1; i++) { for (int k = i + 1; k < j; k++) { if(a[b[i]] > a[b[k]]) { temp = a[b[i]]; a[b[i]] = a[b[k]]; a[b[k]] = temp; } } } // in mảng sau khi sắp xếp printf("\nmang sau khi sap xep: "); for (int i = 0; i < MAX; i++) printf(" %d", a[i]); getch(); } #include <stdio.h> #include <conio.h> #include <math.h> #define MAX 10 void main() { int a[MAX], b[MAX]; int j = 0, temp; bool bl; // nhập mảng for (int i = 0; i < MAX; i++) { printf("nhap 1 so nguyen: "); scanf("%d", & a[i]); } // in ra mảng trước khi sắp xếp printf("mang truoc sap xep: "); for (int i = 0; i < MAX; i++) printf(" %d", a[i]); // Kiểm tra số nào là số nguyên tố, gán vị trí của nó vào mảng b for (int i = 0; i < MAX; i++) { bl = true; for (int z = 2; z <= sqrt((float)a[i]); z++) { if (a[i] % z == 0) { bl = false; break; } } if (bl) { b[j] = i; j++; } } // Sắp xếp các phần tử là số nguyên tố (vị trí đã được lưu trong mảng b) theo thứ tự giảm dần for (int i = 0; i < j - 1; i++) { for (int k = i + 1; k < j; k++) { if(a[b[i]] > a[b[k]]) { temp = a[b[i]]; a[b[i]] = a[b[k]]; a[b[k]] = temp; } } } // in mảng sau khi sắp xếp printf("\nmang sau khi sap xep: "); for (int i = 0; i < MAX; i++) printf(" %d", a[i]); getch(); }
Private
[
?
]
Run code
Submit