Четные элементы уменьшить в два раза, а нечетные - увеличить на 5 - C (СИ)
Формулировка задачи:
С[11][5] Четные элементы матрицы уменьшить в два раза, а нечет¬ные - увеличить на 5. Вывести полученную матрицу на печать в общепринятом виде
У меня вроде бы все правильно решает только как вывести в общепринятом виде???
#include <stdio.h> #include <stdlib.h> #include <time.h> #define ROWS 11 #define COLUMNS 5 int main(void) { int matrix[ROWS][COLUMNS],i, j; printf("Matrix:\n"); for ( i = 0; i < ROWS; ++i ){ for ( j = 0; j < COLUMNS; ++j ){ printf("%4d", ( matrix[i][j] = rand() % 21 - 10 )); { if ( matrix[i][j] %2==0 ){ matrix[i][j]=matrix[i][j]/2;} { if ( matrix[i][j]%2!=0) matrix[i][j]=matrix[i][j]+5; } } } printf("\n"); } {printf("Results:\n"); for ( i = 0; i < ROWS; ++i ) for ( j = 0; j < COLUMNS; ++j ) printf("%4d", matrix[i][j]);} printf("\n"); system("Pause"); return 0; }
Решение задачи: «Четные элементы уменьшить в два раза, а нечетные - увеличить на 5»
textual
Листинг программы
#include <time.h> #include <stdio.h> #include <stdlib.h> #define ROWS 11 #define COLS 5 int main(void) { size_t i, j; int matrix[ROWS][COLS]; srand((size_t) time(NULL)); puts("Initial matrix:"); for(i = 0; i < ROWS; ++i, putchar('\n')) for(j = 0; j < COLS; ++j) { int num = rand() % 21 - 10; printf("%4d", num); matrix[i][j] = num % 2 ? num + 5 : num / 2; } puts("Resulting matrix:"); for(i = 0; i < ROWS; ++i, putchar('\n')) for(j = 0; j < COLS; ++j) printf("%4d", matrix[i][j]); exit(0); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы:
для работы со временем, для работы с выводом на консоль, для работы с генерацией случайных чисел. - Определяем размеры матрицы: ROWS - количество строк, COLS - количество столбцов.
- В функции main создаем переменную i для итерации по строкам матрицы и переменную j для итерации по столбцам матрицы.
- Создаем двумерный массив matrix типа int размером ROWS на COLS.
- Инициализируем генератор случайных чисел с помощью функции srand() и аргумента time(NULL).
- С помощью функции puts() выводим сообщение
Initial matrix:
и с помощью двух вложенных циклов заполняем матрицу случайными числами от -10 до 10 с шагом 1. При этом если число нечетное, то увеличиваем его на 5, а если четное, то уменьшаем в два раза. - С помощью функции puts() выводим сообщение
Resulting matrix:
и с помощью двух вложенных циклов выводим значения матрицы. - Завершаем программу с помощью функции exit(0).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д