Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 24.10.2017
Сообщений: 47
1

Дана целочисленная квадратная матрица определить произведение элементов в тех строках которые не содержат отрицательных

13.01.2018, 18:38. Просмотров 5388. Ответов 9
Метки нет (Все метки)


Дана целочисленная квадратная матрица определить произведение элементов в тех строках которые не содержат отрицательных
Для самой матрицы код написал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
using namespace std;
int main() {
    int arr[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            cout << " " << arr[i][j];
        }
        cout << endl;
    }
    system("pause");
    return 0;
}
Не понимаю как сделать задачу, помогите плс
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2018, 18:38
Ответы с готовыми решениями:

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

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

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

Дана матрица А , размером n x m. Определить количество отрицательных элементов в тех строках , которые содержат хотя бы один нулевой Элемент
знаю что с матрицами много тем но такой не видел , и не могу разобратся что не так ,помогите ...

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
9
Эксперт C
25473 / 15860 / 3393
Регистрация: 24.12.2010
Сообщений: 34,710
13.01.2018, 19:35 2
C++
1
2
3
4
5
6
7
8
9
for(int i=0; i<3; i++) {
  int j;
  for(j=0; j<3; j++)
    if (arr[i][j] < 0) break;
  if (j<3) continue;
  int p = 1;
  for(j=0; j<3; j++) p *= arr[i][j];
  cout << "Stroka "<< i << "P=" << p << endl;
}
0
0 / 0 / 0
Регистрация: 24.10.2017
Сообщений: 47
13.01.2018, 21:21  [ТС] 3
спасибо
0
5902 / 4011 / 2324
Регистрация: 18.12.2017
Сообщений: 12,562
14.01.2018, 00:15 4
Лучший ответ Сообщение было отмечено nobs_rozhead как решение

Решение

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
42
43
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
       
   srand(time(0)); 
   int n;
   cout <<"n="; cin >>n;   
   
// объявление двумерного динамического массива
 
   int **a = new int* [n]; 
   for (int i = 0; i < n; i++)
        a[i] = new int [n];      
    
// заполнение массива случайными числами от -2 до 9 и вывод на экран результатов
 
    for (int i = 0; i < n; i++)
        {
        int p=1, k=0;
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() %12 -2;
            cout <<setw(2)<<a[i][j]<<" ";
            if (a[i][j] >=0 ) p*=a[i][j];
            else k++;            
        }    
        if (k==0) cout <<" "<<p;
        else cout <<" negative";
            cout << endl;            
        }        
        
// освобождение памяти отводимой под массив:
 
    for (int i = 0; i < n; i++)
    delete [] a[i];
    delete [] a;
 
system("pause");
return 0;
}
2
Эксперт C
25473 / 15860 / 3393
Регистрация: 24.12.2010
Сообщений: 34,710
14.01.2018, 00:25 5
Yetty, Код очень неплох, и полностью оформлен, и на первый взгляд - рабочий. ТС вам должен в ножки поклониться
Но у меня, зануды, одно маленькое замечание. На фига гнать цикл дальше, когда k стал больше 0 ? Он же никаким чудом снова нулем не станет!
0
5902 / 4011 / 2324
Регистрация: 18.12.2017
Сообщений: 12,562
14.01.2018, 01:30 6
Цитата Сообщение от Байт Посмотреть сообщение
Но у меня, зануды, одно маленькое замечание
Байт, идеальный код быстро набросать сложно (а ТС как правило требуется сегодня - на завтра), а совершенству как правило нет предела. предложенный код проходит по всем элементам массива но согласен, поймав первый "-" дальше идти смысла нет. но то же время в Вашем рабочем блоке больше циклов for, а именно 3 + нужно добавить цикл заполнения так что не уверен что предложенный Вами вариант будет работает эффективней.
0
0 / 0 / 0
Регистрация: 24.10.2017
Сообщений: 47
14.01.2018, 02:54  [ТС] 7
а если определить произведение элементов в тех строках которые не содержат положительных элементов, что нужно поменять? подскажите пожалуйста
0
5902 / 4011 / 2324
Регистрация: 18.12.2017
Сообщений: 12,562
14.01.2018, 03:05 8
Цитата Сообщение от nobs_rozhead Посмотреть сообщение
а если определить произведение элементов в тех строках которые не содержат положительных элементов, что нужно поменять? подскажите пожалуйста
nobs_rozhead, какие есть вопросы по коду. если что не ясно попробую подсказать. на свой вопрос Вы должны ответить сами.
0
0 / 0 / 0
Регистрация: 24.10.2017
Сообщений: 47
14.01.2018, 17:04  [ТС] 9
a[i][j] = rand() %12 -2;
cout <<setw(2)<<a[i][j]<<" ";
Не понимаю что значит %12-2 и setw(2)
0
5902 / 4011 / 2324
Регистрация: 18.12.2017
Сообщений: 12,562
14.01.2018, 17:47 10
Цитата Сообщение от nobs_rozhead Посмотреть сообщение
что значит %12-2 и setw(2)
a[i][j] = rand() %12 -2; - заполнение массива "случайными" числами от -2 до 9 (можете менять числа и смотреть что будет происходить), setw(2) - выделение фиксированного места под число (чтобы матрица была ровнее) - можете вообще убрать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2018, 17:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

Дана матрица. Найти произведение элементов в тех строках, которые не содержат отрицательных элементов
C #дана матрица. Найти произведение элементов в тех строках, которые не содержат отрицательных...

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

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


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

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

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