Ув. знатоки
Ув. знатоки, к вам огромная просьба: оказалось, что на понедельник преподаватель задал РГР, сейчас неделя сессий, на поиск просто нет времени.
С++, задача такова: Для каждого столбца матрицы J размера MxN найти номера строк, содержащих отрицательные элементы.
Огромная просьба уделить этой проблеме несколько минут своего драгоценного времени. (Если кто-то возьмется за это, то есть 1 критерий-как можно более простые операторы и ф-ции), заранее благодарен.
С++, задача такова: Для каждого столбца матрицы J размера MxN найти номера строк, содержащих отрицательные элементы.
Огромная просьба уделить этой проблеме несколько минут своего драгоценного времени. (Если кто-то возьмется за это, то есть 1 критерий-как можно более простые операторы и ф-ции), заранее благодарен.
-
- Сообщения: 22
- Зарегистрирован: 16 авг 2009, 13:02
- Откуда: Dnepropetrovsk
- Контактная информация:
Код: Выделить всё
#include<iostream>
using namespace std;
const int M=3,N=3;
void main()
{
int J[M][N]={{1,2,3},{2,3,-5},{5,7,-8}};
int i=0;
int c=0;
cout<<"Stroki soderjawie otrciatelnie elementi:"<<endl;
for(i;i<M;i++)
for(c=0;c<N;c++)
if(J[i][c]<0)
cout<<i+1<<endl;
}
THuND3Rb0LT писал(а):Как-то так...Код: Выделить всё
#include<iostream> using namespace std; const int M=3,N=3; void main() { int J[M][N]={{1,2,3},{2,3,-5},{5,7,-8}}; int i=0; int c=0; cout<<"Stroki soderjawie otrciatelnie elementi:"<<endl; for(i;i<M;i++) for(c=0;c<N;c++) if(J[i][c]<0) cout<<i+1<<endl; }
огромнейшее спасибо! Oднако, есть еще 1 вопрос: как заполнить всю матрицу случайными значениями?
(и последнее: у нас вуз на опр время закрывали, так что огромнейшая часть программы улетела в трубу, не могли бы вы дать полный текст программы, если вас конечно же не затруднит, не сочтите за наглость)
-
- Сообщения: 22
- Зарегистрирован: 16 авг 2009, 13:02
- Откуда: Dnepropetrovsk
- Контактная информация:
Вот полностью рабочий код:
Тестировал несколько десятков раз, ошибок в выполнении не наблюдал. При изменении M и N ... М - кол-во строк, N- столбцов. Вообщем результат увидите. Рад помочь ))
Код: Выделить всё
#include<iostream>
#include<time.h>
using namespace std;
const int M=4,N=3;
void main()
{
srand(time(0));
int i=0;
int c=0;
int J[M][N];
for(i=0;i<M;i++) //zapolniaem massiv
for(c=0;c<N;c++) //sly4ainimi
J[i][c]=((rand()%1000)-500);//4islami
for(i=0;i<M;i++)//vivodim massiv
{
for(c=0;c<N;c++)
cout<<J[i][c]<<"\t";
cout<<endl;
} //viveli
cout<<"Stroki soderjawie otrciatelnie elementi:"<<endl;
i=0;
loop: for(i;i<M;i++)
for(c=0;c<N;c++)
if(J[i][c]<0)
{
cout<<i+1<<endl;
i+=1;
goto loop;
}
}
THuND3Rb0LT писал(а):Вот полностью рабочий код:Код: Выделить всё
loop: for(i;i<M;i++) for(c=0;c<N;c++) if(J[i][c]<0) { cout<<i+1<<endl; i+=1; goto loop; } }
Ради интереса. Зачем тут юзать переход?
Уважаемый, вы мой спаситель, благодарю!
-
- Сообщения: 22
- Зарегистрирован: 16 авг 2009, 13:02
- Откуда: Dnepropetrovsk
- Контактная информация:
Newbie писал(а):Ради интереса. Зачем тут юзать переход?
Да привык так, вот и юзаю. Для наглядности.)
Даны действительные числа c1,...,cn, d1,...,dk (c1<=c2<=...<=cn, d1<=d2<=...<=dk). Внести единую упорядоченность в c1,...,cn, d1,...dn, получив f1,f2,...,f(n+k) такие, что f1<=f2<=...<=f(n+k). Число сравнений не должно превосходить n+k.
P.S. "n" и "k" - это нижние индексы!!!
Заранее благодарю!!!
P.S. "n" и "k" - это нижние индексы!!!
Заранее благодарю!!!