Практикум по программированию. Основы. Массивы. Сборка по возрастанию
From AsIsWiki
(Difference between revisions)
Line 9: | Line 9: | ||
<pre> | <pre> | ||
− | |||
− | |||
− | |||
public class Task15 { | public class Task15 { | ||
Line 18: | Line 15: | ||
public static void main(String[] args) { | public static void main(String[] args) { | ||
− | |||
− | |||
System.out.println(); | System.out.println(); | ||
Line 29: | Line 24: | ||
int b[] = new int[n + 1]; | int b[] = new int[n + 1]; | ||
− | a[0] = (int) ( | + | a[0] = (int) (z * Math.random()); |
− | b[0] = (int) ( | + | b[0] = (int) (z * Math.random()); |
for (int i = 0; i < n - 1; i++) { | for (int i = 0; i < n - 1; i++) { | ||
− | a[i + 1] = a[i] + (int) ( | + | a[i + 1] = a[i] + (int) (z * Math.random()); |
− | b[i + 1] = b[i] + (int) ( | + | b[i + 1] = b[i] + (int) (z * Math.random()); |
} | } | ||
Line 85: | Line 80: | ||
<pre> | <pre> | ||
+ | // g++ 4.2 | ||
+ | |||
+ | #include <iostream> | ||
+ | |||
+ | using namespace std; | ||
+ | |||
+ | int main() { | ||
+ | |||
+ | cout << "\n Формирование массива C[2 * N] из элементов A[N] и B[N]\n"; | ||
+ | cout << " по правилу: C[1] <= C[2] <= ... <= C[2 * N]\n"; | ||
+ | cout << "--------------------------------------------------------\n"; | ||
+ | |||
+ | srand((int)time(0)); | ||
+ | |||
+ | const int n = 10; | ||
+ | const int z = 9; | ||
+ | |||
+ | int a[n + 1]; | ||
+ | int b[n + 1]; | ||
+ | |||
+ | a[0] = rand() % z; | ||
+ | b[0] = rand() % z; | ||
+ | |||
+ | for (int i = 0; i < n - 1; i++) { | ||
+ | a[i + 1] = a[i] + (rand() % z); | ||
+ | b[i + 1] = b[i] + (rand() % z); | ||
+ | } | ||
+ | |||
+ | cout << " Массив A:"; | ||
+ | |||
+ | for (int i = 0; i < n; i++) { | ||
+ | printf("%3d", a[i]); | ||
+ | } | ||
+ | |||
+ | cout << "\n Массив B:"; | ||
+ | |||
+ | for (int i = 0; i < n; i++) { | ||
+ | printf("%3d", b[i]); | ||
+ | } | ||
+ | |||
+ | cout << "\n--------------------------------------------------------\n"; | ||
+ | cout << " Массив C:"; | ||
+ | |||
+ | int c[2 * n], i = 0, j = 0; | ||
+ | |||
+ | for (int k = 0; k < 2 * n; k++) { | ||
+ | if (a[i] > b[j]) { | ||
+ | if (j < n) { | ||
+ | c[k] = b[j++]; | ||
+ | } else { | ||
+ | c[k] = a[i++]; | ||
+ | } | ||
+ | } else { | ||
+ | if (i < n) { | ||
+ | c[k] = a[i++]; | ||
+ | } else { | ||
+ | c[k] = b[j++]; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | for (i = 0; i < 2 * n; i++) { | ||
+ | printf("%3d", c[i]); | ||
+ | } | ||
+ | |||
+ | cout << "\n\n"; | ||
+ | |||
+ | return 0; | ||
+ | } | ||
</pre> | </pre> | ||
Latest revision as of 20:58, 19 April 2015
Contents |
[edit] Java
public class Task15 { private static final int n = 10; private static final int z = 9; public static void main(String[] args) { System.out.println(); System.out.println(" Формирование массива C[2 * N] из элементов A[N] и B[N] "); System.out.println(" по правилу: C[1] <= C[2] <= ... <= C[2 * N] "); System.out.println("--------------------------------------------------------"); int a[] = new int[n + 1]; int b[] = new int[n + 1]; a[0] = (int) (z * Math.random()); b[0] = (int) (z * Math.random()); for (int i = 0; i < n - 1; i++) { a[i + 1] = a[i] + (int) (z * Math.random()); b[i + 1] = b[i] + (int) (z * Math.random()); } System.out.print(" Массив A:"); for (int i = 0; i < n; i++) { System.out.printf("%3d", a[i]); } System.out.print("\n Массив B:"); for (int i = 0; i < n; i++) { System.out.printf("%3d", b[i]); } System.out.println("\n--------------------------------------------------------"); System.out.print(" Массив C:"); int c[] = new int[2 * n]; int i = 0, j = 0; for (int k = 0; k < 2 * n; k++) { if (a[i] > b[j]) { if (j < n) { c[k] = b[j++]; } else { c[k] = a[i++]; } } else { if (i < n) { c[k] = a[i++]; } else { c[k] = b[j++]; } } } for (i = 0; i < 2 * n; i++) { System.out.printf("%3d", c[i]); } System.out.println(); } }
[edit] C++
// g++ 4.2 #include <iostream> using namespace std; int main() { cout << "\n Формирование массива C[2 * N] из элементов A[N] и B[N]\n"; cout << " по правилу: C[1] <= C[2] <= ... <= C[2 * N]\n"; cout << "--------------------------------------------------------\n"; srand((int)time(0)); const int n = 10; const int z = 9; int a[n + 1]; int b[n + 1]; a[0] = rand() % z; b[0] = rand() % z; for (int i = 0; i < n - 1; i++) { a[i + 1] = a[i] + (rand() % z); b[i + 1] = b[i] + (rand() % z); } cout << " Массив A:"; for (int i = 0; i < n; i++) { printf("%3d", a[i]); } cout << "\n Массив B:"; for (int i = 0; i < n; i++) { printf("%3d", b[i]); } cout << "\n--------------------------------------------------------\n"; cout << " Массив C:"; int c[2 * n], i = 0, j = 0; for (int k = 0; k < 2 * n; k++) { if (a[i] > b[j]) { if (j < n) { c[k] = b[j++]; } else { c[k] = a[i++]; } } else { if (i < n) { c[k] = a[i++]; } else { c[k] = b[j++]; } } } for (i = 0; i < 2 * n; i++) { printf("%3d", c[i]); } cout << "\n\n"; return 0; }
[edit] Pascal