Из двух масивов сделать один - C (СИ)
Формулировка задачи:
Нужно с двух масивов сделать один, так например
A = {3, 4, 6}
B = {2, 5, 7, 8}
R = {3, 2, 3, 5, 3, 7, 3, 8, 4, 2, 4, 5, 4, 7, 4, 8, 6, 2, 6, 5, 6, 7, 6, 8}
#include <iostream.h> #include <conio.h> #define N 10 int main() { int A[N] = {2, 5, 8}, B[N] = {1, 4}; int i, j, n = 3, m = 2; int R_size = m * n * 2; int *R = new int [R_size]; for(i = 0; i < n; i++) { for(j = 0; j < m; j++) { } } delete [] R; getch (); return 0; }
Решение задачи: «Из двух масивов сделать один»
textual
Листинг программы
#include <iostream.h> #include <conio.h> #define N 10 int main() { int A[N] = {2, 5, 8}, B[N] = {1, 4}; int i, j = 0, n = 3, m = 2; //R={2,1,2,4 5,1,5,4 8,1,8,4} int R_size = (m * n) + (n * m); int *R = new int [R_size]; for(i = 0; i < R_size; i+=4) { R[i] = A[j]; R[i + 2] = A[j]; j++; } j = 0; for(i = 1; i < R_size; i+=4) { R[i] = B[j]; j++; R[i + 2] = B[j++]; if(j == m) j = 0; } for(i = 0; i < R_size; i++) { cout << R[i] << " "; } delete [] R; getch (); return 0; }
Объяснение кода листинга программы
В этом коде происходит объединение двух массивов в один.
- Объявляются два массива A и B, каждый из которых содержит по 10 элементов.
- Создается массив R, размер которого определяется как произведение количества строк и столбцов (m и n).
- С помощью цикла for элементы массива A копируются в массив R.
- Копирование элементов массива B в массив R происходит с помощью второго цикла for, который начинается с i=1, чтобы не копировать элементы, которые уже были скопированы из массива A.
- С помощью третьего цикла for элементы массива R выводятся на экран.
- Массив R освобождается с помощью оператора delete.
- Вводится символ с помощью функции getch, чтобы программа не закрылась сразу после вывода элементов массива R.
- Программа возвращает 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д