Практикум по программированию. Основы. Массивы. Сборка по возрастанию
From AsIsWiki
Contents |
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(); } }
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; }
Pascal