Вопрос задан 15.06.2023 в 05:12. Предмет Информатика. Спрашивает Гуменников Лёша.

Написать программу на си. Даны массивы A[M] и B[N]. Получить массив C[M+N], расположив в его начале

элементы массива A, а затем — элементы массива B.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Стрижнев Илья.

Відповідь:

С code:

#include <stdio.h>

#include <Windows.h>

#include <cstdlib>

#include <time.h>

void randarr(int *array,int size){

for(int i = 0; i < size; i++){

 array[i] = rand() % 35 + 1;

}

}

void printarr(int *array,int size){

for(int i = 0;i < size; i++){

 printf("%d ",array[i]);

}

}

int * sumarr(int *one_array,int *two_array,int M,int N){

int* C = new int[M + N];

   int i, l = 0;

   for(i = 0; i < M; i++) C[l++] = one_array[i];

   for(i = 0; i < N; i++) C[l++] = two_array[i];

   return C;

}

int main(){

srand(time(NULL));

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

int M,N;

printf("Введите размер массива A[M]: ");

scanf("%d",&M);

printf("Введите размер массива B[N]: ");

scanf("%d",&N);

 

int A[M],B[N];

printf("\nМассив A[M]: ");

randarr(A,M);

printarr(A,M);

printf("\nМассив B[N]: ");

randarr(B,N);

printarr(B,N);

printf("\nСложение двух массивов: ");

int size_C = M + N;

int *C = sumarr(A,B,M,N);

printarr(C,size_C);

delete[] C;      

return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример программы на языке C, которая выполняет указанное действие:

c
#include <stdio.h> void mergeArrays(int A[], int B[], int C[], int M, int N) { int i, j; // Копируем элементы из массива A в массив C for (i = 0; i < M; i++) { C[i] = A[i]; } // Копируем элементы из массива B в массив C for (j = 0; j < N; j++) { C[M + j] = B[j]; } } int main() { int A[] = {1, 2, 3, 4}; int B[] = {5, 6, 7}; int M = sizeof(A) / sizeof(A[0]); int N = sizeof(B) / sizeof(B[0]); int C[M + N]; mergeArrays(A, B, C, M, N); int i; printf("Массив C: "); for (i = 0; i < M + N; i++) { printf("%d ", C[i]); } printf("\n"); return 0; }

В этом примере массивы A и B заданы заранее в main, но вы можете изменить их значения по вашему усмотрению. Функция mergeArrays принимает массивы A и B, а также их размеры M и N, соответственно. Она копирует элементы массива A в начало массива C, а затем копирует элементы массива B в оставшуюся часть массива C. Результат выводится на экран.

В этом примере предполагается, что массивы A и B имеют одинаковый тип данных (в данном случае int). Если типы данных отличаются, вам нужно будет изменить типы в объявлении и копировании элементов массивов.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос