Из элементов массива, абсолютное значение которых не превышает 5, сформировать массив C - C (СИ)
Формулировка задачи:
Сформировать массив К. Вывести его. Из элементов массива, абсолютное значение которых не превышает 5, сформировать массив С. Вывести его на экран
Решение задачи: «Из элементов массива, абсолютное значение которых не превышает 5, сформировать массив C»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 30
void print_array(int* arr, size_t siz)
{
do {
printf("%d ", *arr++);
} while( --siz );
putchar('\n');
}
int main(int argc, char *argv[])
{
int arr_k[SIZE];
int arr_c[SIZE];
srand(time(NULL));
int i;
for( i = 0; i < SIZE; ++i ) {
arr_k[i] = rand() % 20;
}
print_array(arr_k, SIZE);
int siz_c = 0;
for( i = 0; i < SIZE; ++i ) {
if( arr_k[i] >= -5 && arr_k[i] <= 5 ) {
arr_c[siz_c++] = arr_k[i];
}
}
print_array(arr_c, siz_c);
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с I/O и памятью
- Определяем размер массива (30 элементов)
- Создаем функцию print_array для вывода элементов массива на экран
- В функции main создаем два массива: arr_k (исходные данные) и arr_c (результат)
- Инициализируем массив arr_k случайными числами от -10 до 10 с помощью функции rand()
- Выводим исходный массив на экран с помощью функции print_array
- Создаем переменную siz_c для подсчета количества элементов в результирующем массиве
- Проходим по исходному массиву и проверяем условие |arr_k[i]| <= 5, если условие выполняется, то добавляем элемент в результирующий массив
- Выводим результирующий массив на экран с помощью функции print_array
- Возвращаем 0, чтобы указать на успешный конец работы программы