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

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

Войти
Регистрация
Восстановить пароль
 
noname933
0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 9
#1

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

03.11.2010, 17:38. Просмотров 668. Ответов 4
Метки нет (Все метки)

ребята помогите пожалуйста!!
Матрица заполняется рандомно от5 до -5
Дана целочисленная квадратная матрица.
Определить:
Произведение элементов в тех строках,который не содержат отрицательных элементов

Добавлено через 34 минуты
матрицу я саму сделал,а вот как определить:Произведение элементов в тех строках,который не содержат отрицательных элементов не понимаю
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2010, 17:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица, Произведение элементов в тех строках,который не содержат отрицательных элементов (C++):

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

Определить произведение элементов в тех строках, которые не содержат отрицательных элементов; - C++
Добрый день, уважаемые форумчане! Не могу составить алгоритм с 2 частью задания. Помогите советами или кодом. буду признателен....

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
03.11.2010, 17:51 #2
В цикле по строкам. Заводим ключ, устанавливаем его в false. Бежим по строке (цикл по столбцам). Считаем произведение. Если видим отрицательный элемент - устанавливаем ключ в true и выходим из цикла прохода по строке (тот, что по столбцам). После этого, если ключ false - выводим полученное произведение. Сбрасываем произведение. Переходи на следующую итерацию по строкам.
1
noname933
0 / 0 / 0
Регистрация: 02.11.2010
Сообщений: 9
03.11.2010, 18:18  [ТС] #3
это что?что за ключ не слышал про него...как он объявляется это в С++?
0
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
03.11.2010, 18:19 #4
bool key = false;
1
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
03.11.2010, 18:42 #5
C++
1
2
3
4
5
6
7
8
9
10
11
//Arr - твоя матрица. Arr[i] - строка матрицы. 
//Arr[i] - начало строки, Arr[i]+N - конец строки, N - кол-во столбцов в строке
//count_if подсчитывает элементы подходящие под предикат
//в данном случае предикат - std::less<int>(), 0 - считает элементы меньше нуля
//если их нет
if(std::count_if(Arr[i], Arr[i]+N, std::bind2nd(std::less<int>(), 0))==0)
    //Считаем произведение стандартным алгоритмом accumulate
    //std::multiplies<int>() - функтор произведения
    //параметр 1 - с чего начинаем умножать. Здесь мы начинаем умножать с 1
    //и выводим это на экран
    std::cout<<std::accumulate(Arr[i], Arr[i]+N, 1, std::multiplies<int>())<<'\n';
Можно еще по другому.
C++
1
2
3
4
//find_if ищем элемент. В данном случае меньше нуля. Если не найдено
if(std::find_if(Arr[i], Arr[i]+N, std::bind2nd(std::less<int>(), 0))==Arr[i]+N)
     //Ищем произведение как и в первом случае.
     std::cout<<std::accumulate(Arr[i], Arr[i]+N, 1, std::multiplies<int>())<<'\n';
Соответственно нужен только один цикл в обоих случаях.
C++
1
for(int i=0; i<M; ++i)// M - кол-во строк в матрице
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2010, 18:42
Привет! Вот еще темы с ответами:

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

Найти произведение элементов в тех строках матрицы, которые не содержат отрицательных элементов - C++
Есть целочисленная квадратная матрица, где размерность и элементы вводятся с клавы#include &lt;iostream&gt; #include &lt;math.h&gt; #include...

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.11.2010, 18:42
Ответ Создать тему
Опции темы

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