В заданном массиве чисел заменить элементы с нечетными номерами на квадраты их номеров - C (СИ)
Формулировка задачи:
Решение задачи: «В заданном массиве чисел заменить элементы с нечетными номерами на квадраты их номеров»
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void func(int * array, size_t count) {
while ( count-- )
array[count] = ( count & 1 ) ? count * count : -1 * array[count];
}
void fill(int * array, size_t count, const int min, const int max) {
while ( count-- )
*array++ = rand() % (max - min + 1) + min;
}
void dump(const int * array, size_t count) {
while ( count-- )
printf("%d%c", *array++, ( count ) ? ' ' : '\n');
}
#define COUNT (20)
#define MIN (-50)
#define MAX (50)
int main(void) {
int array[COUNT];
fill(array, COUNT, MIN, MAX);
printf("Before:\n");
dump(array, COUNT);
func(array, COUNT);
printf("After:\n");
dump(array, COUNT);
return 0;
}
Объяснение кода листинга программы
В данном коде реализована функция func, которая производит замену элементов в заданном массиве. Замена происходит следующим образом: элементы с нечетными номерами заменяются на квадраты их номеров.
В функции fill происходит заполнение массива случайными числами в заданном диапазоне.
Функция dump выводит содержимое массива на экран.
В основной функции main создается массив типа int с 20 элементами. Затем этот массив заполняется случайными числами от -50 до 50 с помощью функции fill. После заполнения массива его содержимое выводится на экран с помощью функции dump. Затем вызывается функция func, которая производит замену элементов в массиве, и снова выводится содержимое массива.
В конце программы возвращается 0, что означает успешное выполнение программы.