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

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

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

Если в строках матрицы есть хотя бы один положительный элемент ,то поменять знаки всей матрицы на противоположные - C++

25.03.2012, 21:46. Просмотров 921. Ответов 8
Метки нет (Все метки)

матрица задается все нормально... но не выполняется условие..... условие такое:если в строках матрицы есть хотя бы один положительный элемент ,то поменять знаки всей матрицы на противоположные....
вот моя прога помогите мне с этой программой:

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
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<iomanip.h>
#include<stdlib.h>
void main()
{
int i, j,n,m;
cout<<"vvedite n:"<<endl;
cin>>n;
cout<<"vvedite m:"<<endl;
cin>>m;
//pamyat pod din-i massiv
double **mass=new double*[n];
for(i=0; i<n; i++)
mass[i]=new double[m];
//op-em massiv
{
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;
}
//vipolnyaem uslovie
for(i=0; i<n; i++)
for(j=0; j<n; j++)
if (mass[i][j]>0)
mass[i][j]=-mass[i][j];
cout<<"mass[i][j]="<<mass[i][j]<<" ";
cout<<endl;
}
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2012, 21:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Если в строках матрицы есть хотя бы один положительный элемент ,то поменять знаки всей матрицы на противоположные (C++):

Посчитать сумму отрицательных элементов в тех колонках матрицы, где есть хотя бы один положительный элемент - C++
Всем доброго времени суток, прошу помочь с написание программы двумерного динамического массива, Заранее спасибо.

Номер первой из строк матрицы, содержащих хотя бы один положительный элемент - C++
Дана целочисленная квадратная матрица. Определить: 1)номер первой из строк, содержащих хотя бы один положительный элемент;

Проверить, все ли строки матрицы содержат хотя бы один положительный элемент - C++
проверить , все ли строки матрицы содержат хотя бы один положительный элемент . если да, то изменить знаки всех элементов матрицы на...

Найти номер первой из строк матрицы, содержащих хотя бы один положительный элемент - C++
Уплотнить заданную матрицу , удаляя из неё строки и столбцы , заполненные нулями. Найти номер первой из строк , содержащих хотя бы один...

Определить номер первой из строк матрицы, содержащих хотя бы один положительный элемент - C++
Дана целочисленная квадратная матрица. Определить: * номер первой из строк, содержащих хотя бы один положительный элемент; Каждый пункт...

В с++ такая задача: проверить, все ли столбцы матрицы содержат хотя бы один положительный элемент. - C++
Увожаемые люди помагите пожалуйста. Нужно решить вот такую непростую загадку: Дана матрица NxM. Проверить, все ли столбцы матрицы содержат...

8
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
25.03.2012, 21:50 #2
ты неправильно выполняешь условие, надо поменять знаки всей матрицы
0
РАСУЛл
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 68
25.03.2012, 22:16  [ТС] #3
а как ? может поможешь?.... и то что я сделал разве не поменяет знаки матрицы по идее должно...
0
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
25.03.2012, 23:01 #4
ты только делаешь положительные элементы матрицы отрицательными
вот часть кода которая выполняет условие

C++
1
2
3
4
5
6
7
8
9
10
bool flag=0;
for (int i=0;i<n;i++)
    for (int j=0;j<n;j++)
        if (mass[i][j]>0) flag=1;
if (flag)
{
    for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
            mass[i][j]=-mass[i][j];
}
0
РАСУЛл
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 68
25.03.2012, 23:31  [ТС] #5
что означает flag?...
0
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
25.03.2012, 23:46 #6
Цитата Сообщение от РАСУЛл Посмотреть сообщение
что означает flag?...
булевая переменная, которая принимает значение 1, если находит положительный элемент в матрице.
0
Kuzia domovenok
2045 / 1890 / 172
Регистрация: 25.03.2012
Сообщений: 6,512
Записей в блоге: 1
25.03.2012, 23:47 #7
Цитата Сообщение от РАСУЛл Посмотреть сообщение
что означает flag?...
Флаг это переменная логического типа bool, которая принимает значение единица, если в процессе поиска найден отрицательный элемент.
Если это так, то выполнится условие и запустится цикл, в котором мы проходим по массиву и меняем знак всем элементам.
Для оптимизации можешь сделать выход из первого цикла сразу, как найден положительный элемент, так как тогда условие выполнится хотя б для одного элемента и можно не искать других таких же в хвосте массива.
C
1
2
3
4
5
6
7
8
9
10
bool flag=0;
for (int i=0;i<n;i++)
    for (int j=0;j<n;j++)
        if (mass[i][j]>0) {flag=1; break; }
if (flag)
{
    for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
            mass[i][j]=-mass[i][j];
}
0
РАСУЛл
2 / 2 / 0
Регистрация: 06.11.2011
Сообщений: 68
26.03.2012, 09:39  [ТС] #8
но оператора bool d c++ нету по крайней мере в борланде.... что делать тогда?
0
Kidasov
77 / 77 / 12
Регистрация: 02.12.2011
Сообщений: 965
Записей в блоге: 3
26.03.2012, 13:05 #9
В C++ есть тип bool, а в C его можно определить через макросы
C
1
2
3
#define bool int 
#define true 1
#define false 0
0
26.03.2012, 13:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2012, 13:05
Привет! Вот еще темы с ответами:

Если в строках или столбцах есть хотя бы один элемент равный нулю, заменить нулями все их элементы - C++
Помогите решить задачу. Обнуление матрицы. Дана матрица NxN. Элементы, стоящие в строках или столбцах, где есть хотя бы один элемент...

Определить количество отрицательных элементов в строках матрицы, содержащих хотя бы один нулевой элемент - C++
Дана целочисленная прямоугольная матрица. Определить количество отрицательных элементов в тех строках, которые содержат хотя бы один...

Найти сумму элементов в тех строках матрицы, которые содержат хотя бы один отрицательный элемент - C++
Для заданной матрицы размера NxN найти такое k, что k-я строчка матрицы совпадает с k-м столбцом. Найти сумму элементов в тех строках,...

Подсчитать количество отрицательных элементов в строках матрицы, которые содержат хотя бы один нулевой элемент - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main(int argc, char** argv) { int...


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

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

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