Все числа матрицы заменить на их квадраты - C (СИ)
Формулировка задачи:
в двумерном массиве К ( 4,8) в строке , содержащей максимаольный элемент , все числа заменить на их квадраты
Решение задачи: «Все числа матрицы заменить на их квадраты»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> int * max_element(const int * arr, size_t count) { return ( count < 2 ) ? (int*)arr : ( *arr < *(arr + count - 1) ) ? max_element(arr + 1, count -1) : max_element(arr, count - 1); } void random_fill(int * arr, size_t count, const int low, const int high) { while ( count-- ) *arr++ = rand() % ( high - low + 1 ) + low; } void dump(const int * arr, size_t count, const size_t width) { while ( count-- ) printf("%*d%c", width, *arr++, ( count ) ? ' ' : '\n'); } #define ROWS 4 #define COLUMNS 8 #define LOW 0 #define HIGH 99 #define WIDTH 2 int main(void) { int matrix[ROWS][COLUMNS], maxvalues[ROWS], * maxvalptr; size_t i; srand(time(NULL)); printf("Before:\n"); for ( i = 0; i < ROWS; ++i ) { random_fill(matrix[i], COLUMNS, LOW, HIGH); dump(matrix[i], COLUMNS, WIDTH); maxvalues[i] = *max_element(matrix[i], COLUMNS); } printf("\nAfter:\n"); maxvalptr = max_element(maxvalues, ROWS); for ( i = 0; i < COLUMNS; ++i ) matrix[maxvalptr - maxvalues][i] *= matrix[maxvalptr - maxvalues][i]; for ( i = 0; i < ROWS; ++i ) dump(matrix[i], COLUMNS, WIDTH * 2); return 0; }
Объяснение кода листинга программы
Вывод: Код генерирует случайные значения в диапазоне от 0 до 99 для каждого элемента матрицы размером 4x8. Затем он находит максимальное значение в каждой строке и заменяет его на квадрат этого значения. В конце он выводит матрицу до и после замены. Список действий:
- Включаем необходимые заголовочные файлы
- Определяем параметры программы: количество строк и столбцов матрицы, минимальное и максимальное значения для заполнения матрицы, ширину вывода
- Создаем матрицу и массив для хранения максимальных значений в каждой строке
- Инициализируем генератор случайных чисел
- Выводим матрицу до замены
- Находим максимальное значение в каждой строке и сохраняем его в массив
- Заменяем найденное максимальное значение на квадрат этого значения
- Выводим матрицу после замены
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д