На вход программы поступает поток данных — последовательность целых чисел, которая заканчивается нулём (ноль не входит в последовательность).
Требуется найти сумму элементов этой последовательности.
Используйте шаблон программы из теоретической части, и оформите программу целиком
Входные данные:
на вход программе подаются числа, по одному числу в строке
Выходные данные:
выведите ответ на задачу
Запрещенные операторы: list;[
На питоне
1. В определенных условиях один из алгоритмов может оказаться эффективнее остальных. Кроме того, у этих алгоритмов различная сложность реализации.
2. С целью упростить программный код.
3. Лишь изменением условия сравнения ключей сортировки. При сортировке по неубыванию ключ последующего элемента должен стать не меньше ключа текущего элемента, при сортировке по невозрастанию - наоборот.
4. На наборах небольшого объема. На упорядоченных в соответствии с требуемым порядком следования ключей сортировки. В общем там, где конкретный алгоритм в минимальной степени производит перестановки элементов.
5. Шейкер-сортировка ведётся в две стороны. На первом шаге наименьший элемент становится первым, затем - наибольший становится последним. На втором шаге на нужные места попадают второй и предпоследний элементы и т.д. Получается, что если при движении по массиву перестановки не происходят, эта часть массива считается отсортированной и исключается из рассмотрения.
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n;
cin >> n;
int a[n];
srand(time(0));
for(int i=0; i<n; i++)
{
a[i]=-99+rand()%199;
cout << setw(4) <<a[i];
}
cout << endl;
int j=n-1;
while(j>0)
{
int mx=a[0], imx=0;
for(int i=1; i<=j; i++)
if(a[i]>mx)
{
mx=a[i];
imx=i;
}
a[imx]=a[j];
a[j]=mx;
j--;
}
for(int i=0; i<n; i++)
cout << setw(4) <<a[i];
return 0;
}