Поменять cin cout на printf scanf - C (СИ)
Формулировка задачи:
#include <stdlib.h> #include <time.h> #include <iostream> using namespace std; int main() { setlocale(LC_CTYPE, "russian_Russia.1251"); // для корректного вывода кириллицы на экран srand((unsigned int)time(0)); // инициализируем генератор случайных чисел int a[50][50]; int n, m; cout << "Введите количество строк матрицы: "; cin >> n; //Вводим число строк матрицы cout << "Введите количество столбцов матрицы: "; cin >> m; //Вводим число столбцов матрицы cout << "Исходная матрица:" << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { a[i][j] = rand() % 100; // заполняем матрицу случайными числами cout.width(4); // ширина поля для вывода cout << a[i][j]; // выводим элемент матрицы } cout << endl; } // поиск наибольших элементов в строках матрицы int b[50]; // массив для наибольших элементов строк матрицы for (int i = 0; i < n; i++) { int max = a[i][0]; for (int j = 0; j < m; j++) if (a[i][j] > max) max = a[i][j]; b[i] = max; // записываем максимальный элемент строки в массив b } int q; for (int i = 0; i < n-1; i++) { // поиск номера минимального элемента int i_min = i; for (int j = i; j < n; j++) if (b[j] < b[i_min]) i_min = j; // перестановка минимального элемента с другим q = b[i]; b[i] = b[i_min]; b[i_min] = q; for (int j = 0; j < m; j++) // в цикле переставляем строки матрицы { q = a[i][j]; a[i][j] = a[i_min][j]; a[i_min][j] = q; } } cout << "Упорядоченная матрица:" << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout.width(4); // ширина поля для вывода cout << a[i][j]; // выводим элемент матрицы } //cout.width(4); //cout << b[i]; cout << endl; } system("pause"); return 0; }
Решение задачи: «Поменять cin cout на printf scanf»
textual
Листинг программы
#include <stdlib.h> #include <time.h> #include <stdio.h> #include <locale.h> int main() { setlocale(LC_CTYPE, "russian_Russia.1251"); // для корректного вывода кириллицы на экран srand((unsigned int)time(0)); // инициализируем генератор случайных чисел int a[50][50]; int n=0, m=0,i=0,j=0; printf("Введите количество строк матрицы: "); scanf("%d",&n); //Вводим число строк матрицы printf("Введите количество столбцов матрицы: "); scanf("%d",&m); //Вводим число столбцов матрицы printf("Исходная матрица: \n"); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { a[i][j] = rand() % 100; // заполняем матрицу случайными числами printf("%d\t",a[i][j]); // выводим элемент матрицы if((j/4>1)&&j%4==0){ printf("\n"); } } printf("\n"); } // поиск наибольших элементов в строках матрицы int b[50]; // массив для наибольших элементов строк матрицы for (i = 0; i < n; i++) { int max = a[i][0]; for (j = 0; j < m; j++) if (a[i][j] > max) max = a[i][j]; b[i] = max; // записываем максимальный элемент строки в массив b } int q; for (i = 0; i < n-1; i++) { // поиск номера минимального элемента int i_min = i; for (j = i; j < n; j++) if (b[j] < b[i_min]) i_min = j; // перестановка минимального элемента с другим q = b[i]; b[i] = b[i_min]; b[i_min] = q; for (j = 0; j < m; j++) // в цикле переставляем строки матрицы { q = a[i][j]; a[i][j] = a[i_min][j]; a[i_min][j] = q; } } printf("Упорядоченная матрица: \n"); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { printf("%d\t",a[i][j]); // выводим элемент матрицы if((j/4>1)&&j%4==0){ printf("\n"); } } printf("\n"); } //system("pause"); в моем линукс нет такого вызова return 0; }
Объяснение кода листинга программы
- Ввод количества строк матрицы
- Ввод количества столбцов матрицы
- Вывод исходной матрицы
- Поиск наибольших элементов в строках матрицы и запись их в массив b
- Поиск номера минимального элемента в массиве b
- Перестановка минимального элемента с другим
- Перестановка строк матрицы
- Вывод упорядоченной матрицы
- Нет системы
pause
в Linux
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д