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

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

Восстановить пароль Регистрация
 
na3ar1y
 Аватар для na3ar1y
48 / 4 / 1
Регистрация: 14.11.2010
Сообщений: 163
20.03.2012, 02:52     Массивы найти произведения отрицательных элементов #1
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    int const n=5;
    int const m=5;
    int mas[n][m];
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            mas[i][j]=rand()%7-5;
        }
    }
 
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                cout<<mas[i][j]<<"\t ";
        }
        cout<<"\n"<<endl;
    }
 
        int kolotrel=0; 
        for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(mas[i][j]<0)
                {
            kolotrel++;
                }
            }
        }
        cout<<"** Kol otr el = "<<kolotrel<<"\n"<<endl;
 
 
        int mas_otrel[n][m];//  = new int[n][m];
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                mas_otrel[i][j]=0;
            }
        }
    
        //записываем в массив отриц элем матрицы
        for(int i=0;i<n;i++)
        {
            int p=0;
            for(int j=0;j<m;j++)
            {
                                if(mas[i][j]<0)
                                {
                                    mas_otrel[i][p]=mas[i][j];
                                    p++;
                                }
            }
        }
 
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                cout<<mas_otrel[i][j]<<"\t ";
            }
            cout<<"\n"<<endl;
        }
        
        // здесь должно находить произведения отрицательных элементов, у меня здесь находит но //не так как надо 
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                mas_otrel[i][j]*=mas_otrel[i][j+1];//надо чтоб все записывалось в 0-й индекс // вот так mas_otrel[i][0]*=mas_otrel[i][j+1];
                if(mas_otrel[i][j+1]==0) 
                {
                    mas_otrel[i][j]*=1;// mas_otrel[i][0]*=1 но это не роботает
                }
            }
        }
            cout<<"\n"<<endl;
            cout<<"Dobutok el. \n"<<endl;
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                cout<<mas_otrel[i][j]<<"\t ";
            }
            cout<<"\n"<<endl;
        }
         
    system ("PAUSE");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2012, 02:52     Массивы найти произведения отрицательных элементов
Посмотрите здесь:

C++ произведения элементов в тех строках, которые не содержат отрицательных элементов
C++ вычисление произведения отрицательных элементов в каждом столбце двумерного массива
C++ вычисление произведения отрицательных элементов
C++ Массивы - найти количество отрицательных элементов
Массивы: найти среди отрицательных элементов максимальный элемент и его индекс C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
20.03.2012, 18:24     Массивы найти произведения отрицательных элементов #2
na3ar1y, почему нельзя использовать для хранения произведения элементов переменную скажем double mult - код будет простым до безобразия
C++
1
2
3
4
5
6
7
double mult = 1;
for(i = 0; i < m; i++)
for(j = 0; j < n; j++)
{
   if(arr[i][j] < 0)
       mult *= arr[i][j];
}
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
20.03.2012, 18:35     Массивы найти произведения отрицательных элементов #3
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
почему нельзя использовать для хранения произведения элементов переменную скажем double mult
у него массив целочисленный.


Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
код будет простым до безобразия
тут уважаемый -=ЮрА=- прав

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
#include <iostream>
#include "ctime"
 
using namespace std;
 
int main()
{   
    srand(time(0));
    int mult = 1;
    int const n = 5;
    int const m = 5;
    int mas[n][m];
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
        {
            cout <<(mas[i][j] = rand() % 7 - 3) << "\t";
            if(mas[i][j] < 0)
            {
                mult *= mas[i][j];
            }
        }
        cout<<endl;
    }
 
    cout << endl << mult << endl;
 
    system("pause >> null");
    return 0;
}
-=ЮрА=-
Заблокирован
Автор FAQ
21.03.2012, 10:35     Массивы найти произведения отрицательных элементов #4
Цитата Сообщение от Infinity3000 Посмотреть сообщение
у него массив целочисленный.
- да дело не в типе переменной, я о логике говорил, к чему были те все циклы если произведение можно было находить ещё в этих циклах

Цитата Сообщение от na3ar1y Посмотреть сообщение
for(int i=0;i<n;i++){
* * * * * * * * for(int j=0;j<m;j++){
* * * * * * * * * * * * mas[i][j]=rand()%7-5;
* * * * * * * * }
* * * * }
. Посмотрев твой код вижу ты так и поступил

Цитата Сообщение от Infinity3000 Посмотреть сообщение
for(int j = 0; j < m; j++)
* * * * * * * * {
* * * * * * * * * * * * cout <<(mas[i][j] = rand() % 7 - 3) << "\t";
* * * * * * * * * * * * if(mas[i][j] < 0)
* * * * * * * * * * * * {
* * * * * * * * * * * * * * * * mult *= mas[i][j];
* * * * * * * * * * * * }
* * * * * * * * }
Natoli
 Аватар для Natoli
0 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 63
17.05.2015, 10:02     Массивы найти произведения отрицательных элементов #5
-=ЮрА=-, у меня ошибку выдает в using namespace std;?
-=ЮрА=-
Заблокирован
Автор FAQ
17.05.2015, 12:09     Массивы найти произведения отрицательных элементов #6
Цитата Сообщение от Natoli Посмотреть сообщение
-=ЮрА=-, у меня ошибку выдает в using namespace std;?
покажи код и укажи компилятор с которым собираешь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2015, 12:11     Массивы найти произведения отрицательных элементов
Еще ссылки по теме:

C++ ДИНАМИЧЕСКИЕ МАССИВЫ.Найти номер строки, в которой сумма отрицательных нечетных элементов самая большая
C++ Массивы. Найти среднее арифметическое отрицательных элементов
Поиск произведения нечетных отрицательных элементов в одномерном массиве C++

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

Или воспользуйтесь поиском по форуму:
Natoli
 Аватар для Natoli
0 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 63
17.05.2015, 12:11     Массивы найти произведения отрицательных элементов #7
-=ЮрА=-, Спасибо,что откликнулись. Я исправила))
Yandex
Объявления
17.05.2015, 12:11     Массивы найти произведения отрицательных элементов
Ответ Создать тему
Опции темы

Текущее время: 08:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru