Написать программу, которая пользуясь двумя указателями на массивы целых чисел, копирует один массив в другой так, чтобы во втором массиве элементы находились в обратном порядке. на с

gulnar1964 gulnar1964    2   26.09.2019 22:40    3

Ответы
Dedula5 Dedula5  08.10.2020 21:17

#include <stdlib.h>

#include <malloc.h>


void print_array(int* numbers,int count)// Функция для вывода элементов массива

{

for(int i = 0;i<count;i++)

{

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

}

printf("\n");

}


void rechange(int *first_array,int *second_array,int count)// Функция для перезаписи одного массива в другой.

//Элементы первого массива запишутся во второй в обратном порядке.

{

int x = count - 1;

for(int i = 0;i<count;i++)

{

second_array[x--] = first_array[i];

}

}


int main(int argc, char** argv) {

const int ARRAY_ELEMENTS_COUNT = 15;

int *first_array = (int*)malloc(sizeof(first_array) * ARRAY_ELEMENTS_COUNT); // Выделить память для первого массива

int *second_array = (int*)malloc(sizeof(second_array) * ARRAY_ELEMENTS_COUNT); //Выделить память для второго массива

for(int i = 0;i<ARRAY_ELEMENTS_COUNT;i++) // Заполняем массивы значениями

{

first_array[i] = std::rand() % 100 + 1;

second_array[i] = std::rand() % 100 + 1;

}

print_array(first_array,ARRAY_ELEMENTS_COUNT); // Выводим первый массив

print_array(second_array,ARRAY_ELEMENTS_COUNT); // Выводим второй массив

rechange(first_array,second_array,ARRAY_ELEMENTS_COUNT);

print_array(second_array,ARRAY_ELEMENTS_COUNT); // Выводим второй массив

//в который записаны элементы первого массива в обратном порядке

free(first_array); // Очищаем память

free(second_array); // Очищаем память

return 0;

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика