В заданном массиве чисел заменить элементы с нечетными номерами на квадраты их номеров - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Сформировать одномерный массив с поощью генератора случайных чисел в диапазоне [-50;50]. В заданном массиве чисел заменить элементы с нечетными номерами на квадраты их номеров, а элементы с четными номерами- на противоположные по знаку элементы. Обязательно выводить на экран исходный массив и результирующий

Решение задачи: «В заданном массиве чисел заменить элементы с нечетными номерами на квадраты их номеров»

textual
Листинг программы
#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, что означает успешное выполнение программы.

Оцени полезность:

10   голосов , оценка 4.4 из 5
Похожие ответы