Untitled
unknown
c_cpp
2 years ago
4.1 kB
3
Indexable
#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <time.h> int main() { srand(time(0)); SetConsoleCP(1251); SetConsoleOutputCP(1251); const int rows = 5, cols = 6; int arr[ rows ][ cols ]; int i, j; for( i = 0; i < rows; ++i ) { for( j = 0; j < cols; ++j ) { arr[ i ][ j ] = rand() % 101 - 50; printf("%5d", arr[ i ][ j ] ); } puts(""); // printf("\n"); } // пользователь вводит НОМЕР строки, в которой вычисляем среднее арифметическое int numRow; printf("Введите номер строки в которой необходимо найти средне арифметическое значение: "); scanf("%d", &numRow); --numRow; double sum = 0; for( i = 0; i < cols; ++i ) sum += arr[ numRow ][ i ]; printf("Среднее арифметическое элементов строки № %d = %.2f\n", numRow + 1, sum / cols ); // пользователь вводит НОМЕР столбца, в котором находим минимальный элемент int numCol; printf("Введите номер столбца в котором необходимо найти минимальный элемент: "); scanf("%d", &numCol); --numCol; int min = arr[ 0 ][ numCol ]; for( i = 0; i < rows; ++i ) if (min > arr[ i ][ numCol ]) min = arr[ i ][ numCol ]; printf("минимальный элемент столбца № %d = %d\n", numCol + 1, min ); // пользователь вводит номер строки и количество позиций на которое необходимо сдвинуть циклически строку вправо // цикл ввода данных int numRowForShift; printf("Введите номер строки в которой требуется сдвиг в право: "); scanf("%d", &numRowForShift); --numRowForShift; int ShiftLoopRightN; printf("Введите на какое количество позиций необходимо сдвинуть строку: "); scanf("%d", &ShiftLoopRightN); // цикл сдвига int n, shift = ShiftLoopRightN % cols; for ( n = 0; n < shift; ++n) { int last = arr[numRowForShift][cols - 1]; for( j = cols - 1; j > 0; --j ) { arr[ numRowForShift ] [ j ]= arr[ numRowForShift ][ j - 1 ]; } arr[ numRowForShift ] [ 0 ] = last; } // вывод массива for( i = 0; i < rows; ++i ) { for( j = 0; j < cols; ++j ) { printf("%5d", arr[ i ][ j ] ); } puts(""); // printf("\n"); } // пользователь вводит номер столбца и количество позиций на которое необходимо сдвинуть циклически столбец вверх // цикл ввода данных int numColForShift; printf("Введите номер столбца в котором требуется сдвинуть столбец вверх: "); scanf("%d", &numColForShift); --numColForShift; int shiftLoopUpN; printf("Введите на какое количество позиций необходимо сдвинуть столбец: "); scanf("%d", &shiftLoopUpN); // цикл сдвига int shift2 = shiftLoopUpN % rows; for ( n = 0; n < shift2; ++n) { int first = arr[0][numColForShift]; for( i = 0; i < rows-1; ++i ) { arr[ i ] [ numColForShift ]= arr[ i + 1 ][ numColForShift ]; } arr[ rows - 1 ] [ numColForShift ] = first; } // вывод массива for( i = 0; i < rows; ++i ) { for( j = 0; j < cols; ++j ) { printf("%5d", arr[ i ][ j ] ); } puts(""); // printf("\n"); } return 0; }
Editor is loading...