Функция: переписать значения элементов массива целых чисел в другой массив в обратном порядке - C (СИ)
Формулировка задачи:
Вот задание:
Написать функцию, которая переписывает значения элементов массива целых чисел в другой массив в обратном порядке. Использовать эту функцию в программе, которая запрашивает у пользователя количество элементов в массиве.
Заранее благодарен)))
Решение задачи: «Функция: переписать значения элементов массива целых чисел в другой массив в обратном порядке»
textual
Листинг программы
#include <stdio.h>
main()
{
int *arr, *tar;
int i, dim;
printf("Input array dimention:");
scanf("%d", &dim);
arr=(int *)malloc(dim*sizeof(int));
tar=(int *)malloc(dim*sizeof(int));
for(i=0; i<dim; i++)
{
printf("Input %d element: ", i+1);
scanf("%d", &arr[i]);
}
for(i=dim-1; i>=0; i--){
tar[i-dim-1]=arr[i];
printf("%d ", tar[i-dim-1]);
}
free(arr);
free(tar);
system("pause");
}
Объяснение кода листинга программы
В этом коде:
- #include
— это начало подключения стандартной библиотеки ввода/вывода, которая содержит функции для взаимодействия с консолью. - main() — это функция, с которой начинается выполнение любой программы на языке C.
- int arr, tar; — это объявление двух указателей на целочисленные массивы. Первый для исходного массива, второй для целевого (результата).
- printf(
Input array dimention:); — это приглашение для ввода размера массива. - scanf(
%d, &dim); — это считывание введенного значения в переменную dim. - arr=(int )malloc(dimsizeof(int)); — это выделение памяти под исходный массив.
- tar=(int )malloc(dimsizeof(int)); — это выделение памяти под целевой массив.
- for(i=0; i<dim; i++) — это цикл для заполнения исходного массива.
- printf(
Input %d element:, i+1); — это приглашение для ввода элемента массива. - scanf(
%d, &arr[i]); — это считывание введенного значения и его запись в массив. - for(i=dim-1; i>=0; i--) — это цикл для переписывания элементов из исходного массива в целевой в обратном порядке.
- tar[i-dim-1]=arr[i]; — это перенос значения из исходного массива в целевой.
- printf(
%d, tar[i-dim-1]); — это вывод значения из целевого массива. - free(arr); — это освобождение памяти, выделенной под исходный массив.
- free(tar); — это освобождение памяти, выделенной под целевой массив.
- system(
pause); — это приостановка выполнения программы до нажатия клавиши. Код считывает размер массива, заполняет исходный массив, переписывает элементы в обратном порядке в целевой массив и выводит результат.