Помогите отладить программу
Дана матрица МхН(целого типа)
Задача следующая,к каждому элементу добавить минимальный элемент строки.
int min=mat[1][1];
int x;
int y;
for(int i=0; i<ROW; i++)
{
for(int j=0; j<COL; j++)
{
if(mat[j]<min)
{
min=mat[j];
x=i;
y=j;
}
}
}
cout<<"Minimal'niy element-->"<<min<<endl;
int a=0;
for(int i=0;i<ROW;i++)
{
for(int j=0;j<COL;j++)
{
mat[j]=mat[j]+min;
a=mat[j]+min;
cout<<a<<'\t"
}
}
Программа минимальный элемент находит,но как прибавить догодаться не могу
Задача следующая,к каждому элементу добавить минимальный элемент строки.
int min=mat[1][1];
int x;
int y;
for(int i=0; i<ROW; i++)
{
for(int j=0; j<COL; j++)
{
if(mat[j]<min)
{
min=mat[j];
x=i;
y=j;
}
}
}
cout<<"Minimal'niy element-->"<<min<<endl;
int a=0;
for(int i=0;i<ROW;i++)
{
for(int j=0;j<COL;j++)
{
mat[j]=mat[j]+min;
a=mat[j]+min;
cout<<a<<'\t"
}
}
Программа минимальный элемент находит,но как прибавить догодаться не могу
Так, вроде всё есть. Только незачем дважды добавлять минимальный элемент:
Сделай так:
mat[j]=mat[j]+min;
a=mat[j]+min;
cout<<a<<'\t"
Сделай так:
Код: Выделить всё
mat[i][j]+=min;//добавляется минимальный элемент
cout<<mat[i][j]<<'\t';// выводим для просмотра
А понятно,в чем была ошибка.
Спасибо за помощь)
Спасибо за помощь)
Разве это исправление ошибки? Это оптимизация. Ошибки, кстати, не было. Но назад не меняй, так лучше.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
atavin-ta, или я тебя не понял, или, выводя на экран дважды увеличенное значение элемента массива на минимальный элемент, мы получаем верное решение задачи?atavin-ta писал(а):Разве это исправление ошибки? Это оптимизация. Ошибки, кстати, не было. Но назад не меняй, так лучше.
Где ты увидел двойное увеличение? a=a+b и a+=b - одно и то же, разница во времени и способе исполнения.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Код автора с моими комментариями:atavin-ta писал(а):Где ты увидел двойное увеличение? a=a+b и a+=b - одно и то же, разница во времени и способе исполнения.
Код: Выделить всё
mat[i][j]=mat[i][j]+min;// Вот оно первое
a=mat[i][j]+min;// А вот второе
cout<<a<<'\t"
А это твоё изречение:
atavin-ta, ты невнимателен.
Ошибки, кстати, не было.
инкемент a я действительно пропустил.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".