Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
mraZzzb
22 / 22 / 1
Регистрация: 06.04.2014
Сообщений: 198
#1

Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента

24.09.2014, 23:07. Просмотров 1098. Ответов 5
Метки нет (Все метки)

Дан массив чисел В[0:N]. Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента. Я не понимаю условие: " расположенных до максимального элемента". Подскажите пожалуйста, что это и как это сделать? К тому же программу написать нужно с указателем, что я в принципе и сделал, думаю правильно.
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#pragma hdrstop
//---------------------------------------------------------------------------
 
#pragma argsused
int main()
{
int i, pr, s, A[5], *p;
 s=0; pr=1;
 p=&A[0];
 cout<<"Vivod dannih v massiv A[]\n";
for(i=0;i<5;i++)
  {
   cout<<"A["<<i<<"]=";
   cin>>*(p+i);
   }
for(i=0;i<5;i++)
  if(*(p+i)>0)
   {
    pr*=*(p+i);
     s+=*(p+i);
   }
 cout << "\n\n\n Element massiva Adres elementa massiva\n";
for(i=0;i<5;i++)
 {
 cout<<*(p+i)<<"\t\t  "<<(p+i)<<"\n";
 }
cout<<"\nSymma = "<<s<<"\nProisvedenie = "<<pr;
cout<<"\n\n";
 
    system("pause");
 
 
        return 0;
}
//---------------------------------------------------------------------------
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2014, 23:07
Ответы с готовыми решениями:

Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента
С++ Builder Функции Дан массив чисел В. Найти сумму и произведение...

Найти сумму положительных элементов массива, расположенных до максимального элемента
Исправте ошибку, не понимаю в чем дело:-| В одномерном целочисленном массиве...

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

Найти произведение положительных элементов, расположенных до максимального элемента
В массиве С, содержащем 14 элементов, определить произведение положительных...

Вычислить сумму положительных элементов массива, расположенных до максимального элемента
Помогите написать программу на С++: В одномерном массиве, состоящем из n...

5
ITraceR
Заблокирован
24.09.2014, 23:36 #2
Массив: 1 2 -2 3 1 -1 3 8 2 1 3
Максимальный элемент 8
Считаем сумму и произведение положительных элементов стоящих до него:
summ = 1+2+3+1+3 = 10
mult = 1*2*3*1*3 = 18
1
mraZzzb
22 / 22 / 1
Регистрация: 06.04.2014
Сообщений: 198
28.09.2014, 17:22  [ТС] #3
Помогите пожалуйста переделать программу, как минимум в 2 функции, совсем не получается..
Условие:Дан массив чисел В[0:N]. Найти сумму и произведение положительных элементов массива, расположенных до максимального элемента
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 <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
//---------------------------------------------------------------------------
 
#pragma argsused
int vec(int [ ], int);
int main(int argc, char* argv[])
{ int i, pr, s, A[10], *p, max, pn;
s=0; pr=1;
p=&A[0];
cout<<"Vvedite element A[]\n";
for(i=0;i<10;i++)
  {
   cout<<"A["<<i<<"]=";
   cin>>*(p+i);
   }
max=A[0];
for(i=1;i<10;i++)
if(A[i]>max)
 {
  max=A[i];
  pn=i;
 }
cout<<endl<<"max="<<max;
for(i=0;i<pn;i++)
  if(*(p+i)>0)
   {
    pr*=*(p+i);
    s+=*(p+i);
   }
cout << "\n\n\n ElementbI massiva \n";
for(i=0;i<10;i++)
 {
 cout<<*(p+i)<<endl;
 }
cout<<"\nSymma = "<<s<<"\nProisvedenie = "<<pr;
 cout<<"\n\n";
  system("pause");
   return 0;
}
0
Гоблин-инженер
113 / 110 / 65
Регистрация: 18.09.2014
Сообщений: 337
29.09.2014, 09:59 #4
mraZzzb, функция подсчета "суммы и произведения положительных элементов массива, расположенных до максимального элемента"
C++
1
2
3
4
5
6
7
8
9
10
void get_summ(int *a, int n, int &res_summ, int &res_mult)
{
    int max_index = n-1;
    // Ищем максимальный элемент
    for (int i = n-2; i >= 0; --i)
        if (a[i] >= a[max_index]) max_index = i;
    // Вычисляем
    for (int i = max_index-1; i >= 0; --i)
        if (a[i] > 0) { res_summ += a[i]; res_mult *= a[i]; }
}
1
mraZzzb
22 / 22 / 1
Регистрация: 06.04.2014
Сообщений: 198
08.10.2014, 21:35  [ТС] #5
Гоблин-инженер, Можете расписать полностью программу? буду очень благодарен!!
0
Гоблин-инженер
113 / 110 / 65
Регистрация: 18.09.2014
Сообщений: 337
10.10.2014, 17:21 #6
mraZzzb, ну например...
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
#include <iostream>
 
using namespace std;
 
void inp_array(int *a, int n)
{
    for (int i = 0; i < n; ++i)
    {
        cout << "B[" << i << "]:";
        cin >> a[i];
    }
}
 
void get_summ(int *a, int n, int &res_summ, int &res_mult)
{
    res_summ = 0; res_mult = 1;
    int max_index = n-1;
    // ???? ???????????? ???????
    for (int i = n-2; i >= 0; --i)
        if (a[i] >= a[max_index]) max_index = i;
    // ?????????
    for (int i = max_index-1; i >= 0; --i)
        if (a[i] > 0) { res_summ += a[i]; res_mult *= a[i]; }
}
 
 
int main(int argc, char *argv[])
{
    const int n = 5;
    int B[n], res_summ, res_mult;
    inp_array(&B[0], n);
    get_summ(&B[0], n, res_summ, res_mult);
    cout << "Result summ: " << res_summ << endl << "Result mult: " << res_mult << endl;
    system("pause");
    return 0;
}
1
10.10.2014, 17:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2014, 17:21

Найти сумму элементов массива, расположенных после максимального элемента
Ввожу например 0.25 6.75 -0.01, а в консоль выводит просто 0.00 6.00 -0.00 И...

Массив: Найти произведение положительных элементов массива, стоящих после максимального элемента...
Ввести массив. Найти произведение положительных элементов массива, стоящих...

Найти сумму и произведение элементов перед и после максимального элемента массива
В заданном массиве S (10) найти сумму элементов, расположенных перед...


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

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

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