Задача про двумерный массив

Тема в разделе "Общие вопросы по С и С++", создана пользователем TYMON, 19 июн 2010.

  1. TYMON

    TYMON Member

    Регистрация:
    19 июн 2010
    Сообщения:
    11
    Симпатии:
    0
    Код (Text):
    Дана матрица B[N, М]. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно.
    #include <iostream.h>
    #include <conio.h>
    #include <stdlib.h>
    void main()
    {
    float mas[20][20],a,b,min,max,n,m;
    int i,j;
    clrscr();
    cout<<"Vvedite kolichestvo strok: ";
    cin>>m;
    cout<<"Vvedite kolichestvo stolbcov: ";
    cin>>n;
    cout<<"Vvedite konci otrezka: ";
    cin>>a>>b;
    cout.precision(2);
    randomize();
    cout<<"Ishodniy massiv:\n";
    for (i=0;i<=n-1;i++)
    {
    for (j=0;j<=m-1;j++)
    {
    mas[i][j]=(b-a)*rand()/32767+a;
    cout.width(6);
    cout<<mas[i][j]<<" ";
    }
    cout<<"\n";
    }

    for ( i=0; i<=n-1;i++)
    {
    max=0;
    min=0;
    for (j=0;j<=m-1;j++)
    if (mas[i][j]>max)
    {
    max=mas[i][j];
    //zamenyaem pervie elementi
    mas[i][0]=max;
    }
    if (mas[i][j]<min)
    {
    min=mas[i][j];
    //zamenyaem poslednie elementi
    mas[i][j+1]=min;
    }
    cout<<"\n";
    cout<<"Maximalniy element "<<i+1<<" stroki = "<<max;
    cout<<" Minimalniy element "<<i+1<<" stroki = "<<min;
    }

    //pol
    cout<<"\nPolucheniy massiv:\n";
    for (i=0;i<=n-1;i++)
    {
    for (j=0;j<=m-1;j++)
    {
    cout.width(6);
    cout<<mas[i][j]<<" ";
    }
    cout<<"\n";
    }
    getch();
    return;
    }
    Все вроде бы работает, максимальное ищется, и успешно заменяется на первые элементы каждой строки. А вот с минимальным возникли проблемы, выдает минимальным 0 (и естественно не заменяется)...Укажите ошибку пожалуйста
     
  2. TYMON

    TYMON Member

    Регистрация:
    19 июн 2010
    Сообщения:
    11
    Симпатии:
    0
    Все получилось спасибо большое :rolleyes: ...только вот нужно заменить строку, кому понадобится
    mas[j+1]=min; на

    Код (Text):
    mas[i][n-1]=min
     
  3. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    А слова "поменять их местами" вы просто проигнорировали?
     
Загрузка...

Поделиться этой страницей