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

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

  1. Включаем необходимые заголовочные файлы: для работы со временем, для работы с выводом на консоль, для работы с генерацией случайных чисел.
  2. Определяем размеры матрицы: ROWS - количество строк, COLS - количество столбцов.
  3. В функции main создаем переменную i для итерации по строкам матрицы и переменную j для итерации по столбцам матрицы.
  4. Создаем двумерный массив matrix типа int размером ROWS на COLS.
  5. Инициализируем генератор случайных чисел с помощью функции srand() и аргумента time(NULL).
  6. С помощью функции puts() выводим сообщение Initial matrix: и с помощью двух вложенных циклов заполняем матрицу случайными числами от -10 до 10 с шагом 1. При этом если число нечетное, то увеличиваем его на 5, а если четное, то уменьшаем в два раза.
  7. С помощью функции puts() выводим сообщение Resulting matrix: и с помощью двух вложенных циклов выводим значения матрицы.
  8. Завершаем программу с помощью функции exit(0).

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


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

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

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