Четные элементы уменьшить в два раза, а нечетные - увеличить на 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).