Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Альма
12 / 9 / 4
Регистрация: 25.11.2010
Сообщений: 358
Записей в блоге: 1
#1

Найти число элементов массива > T и их произведение. - C++

08.01.2012, 00:50. Просмотров 638. Ответов 3
Метки нет (Все метки)

Недоработанная прога:
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
#include <iostream.h>
#include <conio.h>
 
int Proiz_Kol(int,int,int**,int*);    
 
void main()
{
        int **a, i, j, n, m, pr, kol;
cout<<"\t Input N, M:";
cin>>n>>m;
a=new int*[n];                  
for (i=0; i<n; i++)
                a[i]=new int[m];    
cout<<"\n Input A"<<endl;
for (i=0; i<n; i++)
                for (j=0; j<m; j++)
                {
                        cout<<"\t a["<<i+1<<"]["<<j+1<<"]=";
                        cin>>a[i][j];
                }
cout<<"\n Input T"<<endl;
cin>>T;
cout<<"\n Matrix A:"<<endl;
for (i=0; i<n; i++) 
{
                for (j=0; j<m; j++)
                        cout<<"\t"<<a[i][j];
                        cout<<endl;
 
}
 
pr=Proiz_Kol(n,m,a,&kol);       
cout<<"\t Proizvedenie = "<<pr<<endl;
        delete []a;                         
cout<<"\n\t Delete!"<<endl;
cout<<"Press any key..."<<endl;
getch();
}
 
 
int Proiz(int a,int b,int **x, int *k)
{
int i, j, p=1, T;
*k=0;
for (i=0; i<a; i++)
         for (j=0; j<b; j++)
                  if (a[i][j]>T)
                  { 
                      (*k)++;
                      p*=x[i][j];
                  }
return p;
}
Куда запихать Т?? Никак не пойму...помогите исправить...

Добавлено через 12 минут
Сори, уже не надо))
http://www.cyberforum.ru/cpp-beginners/thread2082280.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2012, 00:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти число элементов массива > T и их произведение. (C++):

Найти произведение и количество элементов массива, значения которых превосходят заданное число
Элементы массива вводить с клавиатуры. Размерность массива задать...

Дано натуральное число N и одномерный массив A1, A2, ..., AN целых. Найти произведение тех элементов массива, расположенных между одинаковыми элемента
Дано натуральное число N и одномерный массив A1, A2, ..., AN целых. Найти...

В матрице F(4,9) найти произведение элементов , что превышают заданное число B . Вывести матрицу и произведение .
В матрице F(4,9) найти произведение элементов , что превышают заданное число B...

Найти отдельно произведение положительных элементов и произведение отрицательных элементов массива
Ввести массив. Найти отдельно произведение положительных элементов и...

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

3
Gepar
1181 / 537 / 77
Регистрация: 01.07.2009
Сообщений: 3,517
08.01.2012, 05:21 #2
А вот смотрите как это красиво всё с использованием stl
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
#include <iostream>
#include <list>
using namespace std;
 
template<class T> struct Sum
{
    T res;
    T bound;
public:
    Sum(T i=0): res(i){}
    void operator()(T x)
    {
         if(x>bound)
        res+=x;
    }
    T result() const{return res;}
    void setBound(T b){bound=b;}
};
 
int main()
{
    const int SIZE=10;
    int array[SIZE]={1,5,8,6,8,0,9,11,10,10};
    list<int> l(array,array+SIZE);
    Sum<int> s;
    s.setBound(9);// 9 это ваше число T
    s=for_each(l.begin(),l.end(),s);
    cout<<"the sum is: "<<s.result()<<'\n';
}
Я правда забыл добавить счётчик элементов для того чтобы сосчитать сколько было чисел, но это будет ещё + 2 строчки.
1
soon
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
08.01.2012, 13:42 #3
Цитата Сообщение от Gepar Посмотреть сообщение
А вот смотрите как это красиво всё с использованием stl
А если еще и лямбду, так вообще сказка

Gepar, А зачем в структуре get/set функции?
И для for_each еще algorithm нужен.
0
GreedyMaster
0 / 0 / 0
Регистрация: 17.05.2015
Сообщений: 1
15.12.2017, 13:43 #4
Есть готовое решение?

Добавлено через 2 часа 0 минут
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
#include "iostream"
#include <conio.h>
#include <stdio.h> 
using namespace std;
 
int Fun_Sum_Kol(int, int, int**, int*, int);  
void main()
{
    int **a, i, j, n, m, pr, kol, T;
    cout << "\t Input N, M, T : ";
    cin >> n >> m >> T;
    a = new int*[n]; 
    for (i = 0; i<n; i++)
        a[i] = new int[m]; 
    cout << "\n Input A" << endl;
    for (i = 0; i<n; i++)
        for (j = 0; j<m; j++) {
            cout << "\t a[" << i + 1 << "][" << j + 1 << "] = ";
            cin >> a[i][j];
        }
    cout << "\n Matrix A:" << endl;
    for (i = 0; i<n; i++) {
        for (j = 0; j<m; j++)
            cout << "\t" << a[i][j];
        cout << endl;
    }
 
    pr = Fun_Sum_Kol(n, m, a, &kol, T);
    cout << "\n Kol-vo = " << kol << "\t Summa = " << pr << endl;
    for (i = 0; i<n; i++)
        delete a[i];
    delete[]a;
    cout << "\n\t Delete !" << endl;
    cout << " Press any key ... " << endl;
    getch();
}
int Fun_Sum_Kol(int a, int b, int **x, int *k, int t)
{
    int i, j, s = 0;
    *k = 0;
    for (i = 0; i<a; i++)
        for (j = 0; j<b; j++)
            if (x[i][j] < t) {
                (*k)++;
                s += x[i][j];
            }
    return s;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2017, 13:43
Привет! Вот еще темы с решениями:

Найти максимальный элемент массива; найти произведение элементов массива, удовлетворяющих условию
В одномерном массиве, состоящим из n целых элементов, вычислить: Номер...

в массиве . найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива
В массиве Х(N) найти произведение нулевых элементов, количество элементов,...

в массиве . найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива
В массиве Х(N) найти произведение ненулевых элементов, количество элементов,...

Массивы (найти номер максимального элемента массива, произведение элементов массива)
В одномерном массиве, состоящем из п целых элементов, 1) номер максимального...


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

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

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