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

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

Войти
Регистрация
Восстановить пароль
 
flock
3 / 1 / 1
Регистрация: 23.09.2011
Сообщений: 66
#1

Переделать задачу из подсчета суммы после нуля в подсчет суммы после минимального - C++

25.12.2011, 13:27. Просмотров 404. Ответов 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
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <system.hpp>
  int vvod();
  int vivod(int n1,int s1);
  int obrab(int n1);
  int rus(char str_c[])
{char *str=new char[255];
AnsiToOem(str_c,str);
cout<<'\n'<<str;
return(0);
}
int *p;
int i;
int main()
{ clrscr();
  int n1=vvod();
  vivod(n1,obrab(n1));
  delete(p);
  getch();
 return 0;
}
int vvod()
{ int n1;
  rus(" Введите кол-во элементов ->"); cin>>n1;
  p=new int [n1];
  rus ("Введите элементы массива >");
  for (i=0;i<n1;i++)
  cin>>p[i];
  return(n1);
}
 int obrab(int n1)
  { int s=0;
 for(i=0;p[i]&&(i<=n1);i++);
 while(i<n1) s+=*(p+i++);
 return(s);
}
 int vivod(int n1, int s)
  { rus("Vivod elementov massiva:");
    for(i=0;i<n1;i++)
    cout<<setw(3)<<*(p+i);
    cout<<endl<<"s= "<<s<<endl;
    return(0);
 }
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 13:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать задачу из подсчета суммы после нуля в подсчет суммы после минимального (C++):

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

Написать программу подсчета суммы М - C++
Написать программу подсчета суммы М введенных с клавиатуры чисел. Использовать функцию.

Алгоритм подсчета контрольной суммы - C++
Доброго времени суток всем! Прошу сразу не кидать в меня тапками, ибо я полный чайник в программировании, но у меня возникла необходимость...

Написать программу для подсчета суммы - C++
Для заданного натурального n и действительного х подсчитать слейдующюю сумму: S=cos1-cos2+cos3-…+ 〖(-1)〗^(n+1)cos n

Не работает программа подсчета вычисления суммы ряда - C++
#include &quot;stdafx.h&quot; #include &quot;std_lib_facilities.h&quot; #include &quot;math.h&quot; double x; double f(int n) { return ( atan(2) +...

Разобраться в коде подсчета суммы зерен на шахматной доске. - C++
Помогите разобраться в исходном коде. Почему здесь в цикле «for» находиться другой цикл «for»? Что значит символ «j» и переменная pow? И...

3
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.12.2011, 13:41 #2
Сумма после первого минимального элемента
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <algorithm>
 
using namespace std;
 
int main ()
{
   int arr[] = {1,2,1,3,5,2,0,2,3};
   int size = sizeof (arr) / sizeof (arr[0]);
   
   cout << " Summa = " << accumulate(min_element (arr, arr + size), arr + size , 0 ) << endl;
 
   return 0;
}
http://liveworkspace.org/code/ffe250...f707d7146b1eef
0
flock
3 / 1 / 1
Регистрация: 23.09.2011
Сообщений: 66
25.12.2011, 15:30  [ТС] #3
Спасибо, а Вы не могли бы написать как в моей программе(такими же словами), только поменяв после нулевого на минимальный(скорее всего изменить обработку)?

Добавлено через 1 час 43 минуты
Вот, что получилось, но не работает:

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
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#include <system.hpp>
  int vvod();
  int vivod(int n1,int s1);
  int obrab(int n1);
  int rus(char str_c[])
{ char *str=new char[255];
  AnsiToOem(str_c,str);
  cout<<'\n'<<str;
  return(0);
}
int *p;
int i;
int imax,n;
int main()
{ clrscr();
  int n1=vvod();
  vivod(n1,obrab(n1));
  delete(p);
  getch();
 return 0;
}
int vvod()
{ int n1;
  rus("Vvedite kol-vo elementov ->");
  cin>>n1;
  p=new int [n1];
  rus ("Vvedite elementy ->");
  for (i=0;i<n1;i++)
  cin>>p[i];
  return(n1);
}
 
 int obrab(int n1)
  { int s=0;
  imax=0;
  for(i=0;i<n;i++)
  while(p[i]<p[imax]) s+=*(p+i++);
  return(s);
}
 int vivod(int n1, int s)
  { rus(" Vyvod elementov->");
    for(i=0;i<n1;i++)
    cout<<setw(3)<<*(p+i);
    cout<<endl<<"s= "<<s<<endl;
    return(0);
 }
 Комментарий модератора 
Используйте теги форматирования кода!
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.12.2011, 15:50 #4
flock, я же сделал после минимального!
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2011, 15:50
Привет! Вот еще темы с ответами:

Функция для подсчета суммы и количества элементов больше K - C++
Добрый вечер! Есть задачка одна - звучит так: С помощью генератора случайных чисел сформировать квадратную матрицу вещественных чисел...

Подсчет суммы - C++
Не могу написать программу для подсчета суммы в массиве на отрезке (дан массив, и l, r). Подскажите плиз

Вычислить суммы элементов массива до первого нуля (доработать) - C++
1) В массиве i,j, =1,…,8 есть хотя бы один нуль. Вычислить суммы элементов массива до первого нуля. Исходные данные: 1,17,2,4,-5,0,7,8....

Циклы, подсчет суммы - C++
Рассчитать: \sum_{i=1}^{50}\frac{1}{i^{-3}}


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

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

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