Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 16.09.2012, 12:36   #1
KObotan
 
Регистрация: 02.11.2010
Сообщений: 4
По умолчанию Найти минимальный элемент среди всех элементов тех строк заданной матрицы, которые упорядочены по убыванию.

Посмотрите пожалуйста, в чем ошибка.
Код:
#include<iostream>
#include<conio.h>

using namespace std;

int main()
{
    int r,s,min=0;
    cout<<"Enter number of rows:";
    cin>>r;
    cout<<"\nEnter number of cols:";
    cin>>s;
    int matr[r][s];
    for(int k=0; k<r; k++){
            for(int j=0; j<s; j++){
            cout<<"matr["<<k+1<<"]["<<j+1<<"]=";
            cin>>matr[k][j];
            }
            }
            for(int k=0; k<r; k++){
                    for(int j=0; j<s; j++){
                            if(matr[k][j]>matr[k][j++])min=matr[k][s];
                            }
                            cout<<"\n"<<min;
                    }         
getch();
return 0;
}
KObotan вне форума Ответить с цитированием
Старый 16.09.2012, 12:41   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

int matr[r][s];

в C++ так делать нельзя, в остальное не вникал.
Rififi вне форума Ответить с цитированием
Старый 16.09.2012, 12:46   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Цитата:
в чем ошибка.
А что компиль говорит?
Цитата:
в C++ так делать нельзя
говорят некоторые компиляторы такое понимают.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.09.2012, 13:44   #4
KObotan
 
Регистрация: 02.11.2010
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
int matr[r][s];

в C++ так делать нельзя
Почему нельза, как тогда нужно?
Цитата:
А что компиль говорит?
Компиль принимает, но не выдает правильного минимального елемента из упорядоченой строки.
Меня смущает этот момент
Код:
for(int k=0; k<r; k++){
                    for(int j=0; j<s; j++){
                            if(matr[k][j]>matr[k][j++])min=matr[k][s]; \\если следующий елемент строки меньше предыдущего, то берём последний                  
                                                                                      \\елемент строки
                            }
                            cout<<"\n"<<min;
                    }
Здесь нету логической ошибки?

Последний раз редактировалось KObotan; 16.09.2012 в 13:49.
KObotan вне форума Ответить с цитированием
Старый 16.09.2012, 13:54   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Думаю условие должно быть таким:
Код:
 if(j>0 && matr[k][j]>matr[k][j-1] && matr[k][j]>min)min=matr[k][j];
Цитата:
как тогда нужно?
Думаю Rififi намекает на динамические массивы, создаваемые через new
Примеры на форуме есть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме от 7000 рублей в месяц



Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица. Найти минимальный среди положительных, находящихся над главной диагональю, и поменять его с максимальным среди отрицатель Mayers Паскаль, Turbo Pascal, PascalABC.NET 0 15.05.2012 21:25
массиве X(N) найти максимальный элемент среди положительных элементов массива и минимальный среди отрицательных элементов. sorok Общие вопросы C/C++ 2 20.03.2012 11:18
массив R(N,M) - найти сумму кубов отрицательных элементов, минимальный элемент столбца № (Бейсик) Люстик Помощь студентам 0 16.03.2011 17:29
Сумма четных элементов матрицы. Произведение элементов 3-го столбца. Минимальный элемент матрицы. renovare Помощь студентам 2 03.07.2009 20:13


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Скидки на курсы GeekBrains 40%, выбирайте программу для себя