Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
РАСУЛл
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 68
#1

исправить условие!!! - C++

06.04.2012, 21:29. Просмотров 348. Ответов 6
Метки нет (Все метки)

условие задачи : если в строках матрицы есть хотя бы один положительный элемент,если есть то поменять знаки всей матрицы на противоположные.... т.е нужно проверить каждую строку матрицы если же хотя бы в одной строке матрице все элементы будут отрицательные то вывести например"не во всех строках есть положительные эл-ты" если же положительные элементы есть во всех строках поменять знаки всей матрицы на противоположные....
вот мой алгоритм но я не знаю как правильно задать условие:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<iomanip.h>
#include<stdlib.h>
#include<float.h>
void main()
{
int i, j,n,m;
cout<<"vvedite n:"<<endl;
cin>>n;
cout<<"vvedite m:"<<endl;
cin>>m;
//выделяем память под динамический массив
double **mass=new double*[n];
for(i=0; i<n; i++)
mass[i]=new double[m];
//опр-ем матрицу
{
for(i=0; i<n; i++)
for(j=0; j<m; j++)
mass[i][j]=rand()%10;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
cout<<setw(6)<<mass[i][j]<<" ";
cout<<endl;
}
//выполняем условие
for(i=0; i<n; i++)
for(j=0; j<n; j++)
if (mass[i][j]>0)
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
mass[i][j]=mass[i][j]*(-1);
cout<<"mass[i][j]="<<mass[i][j]<<" ";
cout<<endl;
}}
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2012, 21:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос исправить условие!!! (C++):

Найти максимальную цифру в записи числа на С++ (исправить условие цикла) - C++
Дано целое число N, удовлетворяющее условию 0&lt;\left|N \right|&lt;2*{10}^{9}. Найти максимальную цифру в записи этого числа. Я не могу...

Исправить код метод Ньютона для решения систем нелинейных уравнений под нужное условие - C++
Данный код для решения системы ax+tg(xy)=0; (y^2-b^2)+lnx=0 Перепишите его,пожалуйста для системы 2x-y-10=0 5x^2-20y^2-100=0 ...

Составить программу, которая выводит на экран слово «ИСТИНА», если условие выполнено или слово «ЛОЖЬ», если условие не выполнено. - C++
Цифры данного трехзначного числа V являются членами арифметической прогрессии

Условие - C++
подскажите пожалуйста как можно сделать условие: если одно из нескольких равно N, то ......

условие - C++
Ответ скорее всего прост,но не могу придумать никак #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;locale.h&gt; int fact(int...

условие - C++
Если сумма трех попарно-различный действительных чисел x, y,z, меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух...

6
User1990
26 / 26 / 2
Регистрация: 03.11.2009
Сообщений: 158
06.04.2012, 22:54 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
здесь определяем хотя один полож элемент, затем прерываем вложен циклы
for(i=0;i<m;i++){
 
for(j=0;j<n;j++)
{
if(mas[i][j]>0) break;
 
}
if(j!=n)  break;
 
}
и превращаем элементы в отриц
for (i=0;i<m;i++){
for(j=0;j<n;j++)
mas[i][j]=mas[i][j]*(-1);
}
0
РАСУЛл
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 68
06.04.2012, 23:11  [ТС] #3
вот ответ :
1.509513е-315
1.52376е-315
1.538007е-315
1.554452у-315
7.3656у-218
что то не так....только что?
0
User1990
26 / 26 / 2
Регистрация: 03.11.2009
Сообщений: 158
06.04.2012, 23:16 #4
что это за цифры.... может использовать простой int вместо double .
0
РАСУЛл
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 68
06.04.2012, 23:42  [ТС] #5
не знаю...
мне знаешь что нужно по условию проверить все строки матрицы если же в каждой строке есть положительный эл-т то нужно поменять знаки всей матрицы на противоположные ....если же хотя бы в одной строке нету положительных эл-ов то условие отменяется и нужно вывести например "не во всех строках есть положительные эл-ты"....

Добавлено через 16 минут
народ помогите!!!
0
User1990
26 / 26 / 2
Регистрация: 03.11.2009
Сообщений: 158
06.04.2012, 23:52 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
p=0;
for(i=0;i<m;i++){
 
for(j=0;j<n;j++)
if(mas[i][j]>0) {
p++;
break;} тогда делаем так , т.е. в каждой строке ищем до первого полож
}
if(p==m){если кол-во найденных элементов совпадает с кол строк , то меняем на противополож знаки
for (i=0;i<m;i++){
for(j=0;j<n;j++)
mas[i][j]=mas[i][j]*(-1);
}
 }else
std::cout <<"не во всех есть полож элем"
0
РАСУЛл
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 68
07.04.2012, 21:50  [ТС] #7
да работает отдуши))) спасибо братан)))
0
07.04.2012, 21:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2012, 21:50
Привет! Вот еще темы с ответами:

Условие if - C++
Народ помогите составить условие, пишу игру, имеется пуля размером 8х8 и корабль 37х37 , подскажите как сделать проверку попала ли пуля в...

Условие - C++
Помогите составить условие: if (0=pow(x,s)+1) Выдаёт: error: lvalue required as left operand of assignment

Условие в while - C++
подскажите пожалуйста, могу ли я таким образом задавать условие в while как ниже в коде. Мне в принцепи надо что бы выполнялось до тех пор...

Условие - C++
Извиняюсь за данную тему, просто я чайник ,скажите что значит это условие? char buf; if(*buf=='0') *buf=0;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru