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

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

Войти
Регистрация
Восстановить пароль
 
na3ar1y
48 / 4 / 1
Регистрация: 14.11.2010
Сообщений: 163
#1

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

20.03.2012, 02:52. Просмотров 781. Ответов 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
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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2012, 02:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы найти произведения отрицательных элементов (C++):

Массивы - найти количество отрицательных элементов - C++
дана матрица 3*3случайных чисел. найти количество отрицательных элементов на языке программирования с++ Добавлено через 56 секунд ...

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

Найти разность произведения нечетных чисел 3-ей строки и произведения отрицательных чисел 1-го столбца матрицы - C++
Найти разность произведения нечетных чисел 3-ей строки и произведения отрицательных чисел 1-го столбца матрицы В(4,4).

Массивы: найти среди отрицательных элементов максимальный элемент и его индекс - C++
В каждом из массивов X(Nx), Y(Ny) и Z(Nz) вещественных чисел найти среди отрицательных элементов максимальный элемент и его индекс. Массивы...

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

Произведения элементов матрицы в строках, которые не содержат отрицательных элементов - 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];
}
1
Infinity3000
1058 / 577 / 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;
}
1
-=ЮрА=-
Заблокирован
Автор 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];
* * * * * * * * * * * * }
* * * * * * * * }
0
Natoli
0 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 63
17.05.2015, 10:02 #5
-=ЮрА=-, у меня ошибку выдает в using namespace std;?
0
-=ЮрА=-
Заблокирован
Автор FAQ
17.05.2015, 12:09 #6
Цитата Сообщение от Natoli Посмотреть сообщение
-=ЮрА=-, у меня ошибку выдает в using namespace std;?
покажи код и укажи компилятор с которым собираешь.
0
Natoli
0 / 0 / 0
Регистрация: 25.04.2015
Сообщений: 63
17.05.2015, 12:11 #7
-=ЮрА=-, Спасибо,что откликнулись. Я исправила))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2015, 12:11
Привет! Вот еще темы с ответами:

Вычисление произведения отрицательных элементов - C++
Напишите фрагменты программ для решения следующих задач: 1)вычисление произведения отрицательных элементов в каждом столбце двумерного...

ДИНАМИЧЕСКИЕ МАССИВЫ.Найти номер строки, в которой сумма отрицательных нечетных элементов самая большая - C++
не знаю почему не правильно считает ведь все правильно сделал?(( подскажите кто нибуть Пожалуста #include &lt;iostream&gt; #include &lt;cmath&gt; ...

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

Вычисление произведения отрицательных элементов в каждом столбце двумерного массива - C++
Напишите фрагменты программ для решения следующих задач: 1)вычисление произведения отрицательных элементов в каждом столбце двумерного...


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

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

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