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

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

Восстановить пароль Регистрация
 
flock
3 / 1 / 1
Регистрация: 23.09.2011
Сообщений: 66
25.12.2011, 13:27     Переделать задачу из подсчета суммы после нуля в подсчет суммы после минимального #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
#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);
 }
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 13:27     Переделать задачу из подсчета суммы после нуля в подсчет суммы после минимального
Посмотрите здесь:

C++ Написать программу для подсчета суммы
Алгоритм подсчета контрольной суммы C++
Написать программу подсчета суммы М C++
Вычислить суммы элементов массива до первого нуля (доработать) C++
C++ Функция для подсчета суммы и количества элементов больше K
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 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
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);
 }
 Комментарий модератора 
Используйте теги форматирования кода!
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.12.2011, 15:50     Переделать задачу из подсчета суммы после нуля в подсчет суммы после минимального #4
flock, я же сделал после минимального!
Yandex
Объявления
25.12.2011, 15:50     Переделать задачу из подсчета суммы после нуля в подсчет суммы после минимального
Ответ Создать тему
Опции темы

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