Сформировать одномерный массив. В заданном массиве замените с k1 по k2 на противоположные по знаку - C (СИ)

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

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

Сформировать одномерный массив размерностью n>100 с помощью генератора случайных чисел в диапазоне [-99;99].В заданном массиве замените с k1 по k2 на противоположные по знаку.На экран вывести исходный массив и результирующий.

Решение задачи: «Сформировать одномерный массив. В заданном массиве замените с k1 по k2 на противоположные по знаку»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int gen_rand_range(int start, int stop) {
    return (start + (rand() % (stop - start)));
}
 
void init_array(int size, int start, int stop, int a[size]) {
    for(unsigned int i = 0; i < size; ++i) {
        a[i] = gen_rand_range(start, stop);
    }
}
 
int swap_sign(int num) {
    return -num;
}
 
void swap_num_range(int size, int start, int stop, int a[size]) {
    for(unsigned int i = start; i < stop; ++i) {
        a[i] = swap_sign(a[i]);
    }
}
 
void print_array(int size, int a[size]) {
    int line = 10;
    for(unsigned int i = 0; i < size; ++i) {
        if(!(i % line)) {
            fprintf(stdout, "\n");
        }
        fprintf(stdout, "%4d   ", a[i]);
    }
    fprintf(stdout, "\n");
}
 
int main(int argc, char *argv[]) {
    srand(time(NULL));
    
    int SIZE = 150;
    int array[SIZE];
    
    init_array(SIZE, -99, 100, array);
    fprintf(stdout, "Исходный массив:\n");
    print_array(SIZE, array);
    
    swap_num_range(SIZE, 10, 30, array);
    fprintf(stdout, "Измененный массив:\n");
    print_array(SIZE, array);
    
    return EXIT_SUCCESS;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с C
  2. Определяем функцию генерации случайного числа в заданном диапазоне
  3. Определяем функцию инициализации массива случайными числами
  4. Определяем функцию замены знака числа на противоположный
  5. Определяем функцию замены знаков чисел в заданном диапазоне массива
  6. Определяем функцию печати массива на экран
  7. В функции main инициализируем размер массива, создаем массив и инициализируем его случайными числами
  8. Выводим исходный массив на экран
  9. Меняем знак чисел в заданном диапазоне массива
  10. Выводим измененный массив на экран
  11. Завершаем программу успехом

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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