@tatarantino

Как вывести номер строки матрицы?

Суть задачи в том, чтобы поменять местами указанную с клавиатуры строку со строкой с минимальным элементом в массиве.

Нужно, чтобы переменная "y" принимала значения i-го " элемента матрицы. Вроде все так сделал, но все равно не работает. Номер строки т.е "y" принимает другое значение
Вот код:
#include <iostream>
#include <iomanip>
using namespace std; 
int main()
{   setlocale(LC_ALL,"Russian") ;
    const int str = 3;
    const int sto = 3;
    int min = 0;
    int matrix[str][sto];
    
    cout << "Введите элементы матрицы: " << endl;
    for (int i = 0; i < str; i++)
        for (int j = 0; j < sto; j++)
        cin >> matrix[i][j];
           
   
    cout << " \n";
    cout << "Ваша матрица: " << endl;
     cout << "\n";
    for (int i = 0; i < str; i++) 
    {
        for (int j = 0; j < sto; j++)
           
            cout << setw (4) <<matrix[i][j];
        cout << endl;
    }
 
    int y;
    min = matrix[0][0]; 
    for (int i = 0; i < str; i++) 
    {
        for (int j = 0; j < sto; j++) 
        {
            if (matrix[i][j] < min && matrix[i][j]>=0)
               min = matrix[i][j]; 
               y=i;
               y++;
                
        }
        
    }
    
    cout << "Минимальное значение: "<< min;
    cout << "\n";
    cout << "Cтрока с минимальным значением: "<< y;
    cout << "\n";
    
    
    
  int x;
  cout << endl;
  cout <<"Введите строку, которую нужно поменять: \n";
  cin >> x;
  
  
  x--;
  y--;
  
   
  
  for (int i=0; i < str; i++) 
      for (int j = 0; j < sto; j++) 
      {
          if (i == x)
          {
              int z = matrix[i][j];
              matrix[i][j] = matrix[y][j];
              matrix[y][j] = z;
          }
      }
  cout << "\n"; 
  cout << "Результат: \n";
  cout << endl;
 
  for (int i = 0; i < str; ++i) {
    for (int j = 0; j < sto; ++j) {
      cout << setw (4) << matrix[i][j];
    }
    cout << endl;
  }

    
}
  • Вопрос задан
  • 1133 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы