Поменять 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;
}

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

  1. Ввод количества строк матрицы
  2. Ввод количества столбцов матрицы
  3. Вывод исходной матрицы
  4. Поиск наибольших элементов в строках матрицы и запись их в массив b
  5. Поиск номера минимального элемента в массиве b
  6. Перестановка минимального элемента с другим
  7. Перестановка строк матрицы
  8. Вывод упорядоченной матрицы
  9. Нет системы pause в Linux

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


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

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

9   голосов , оценка 4.222 из 5