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

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

Войти
Регистрация
Восстановить пароль
 
C++++++
0 / 0 / 0
Регистрация: 21.10.2011
Сообщений: 11
#1

Нужна помощь, чтобы разобраться в несложной программе (последовательность) - C++

21.10.2011, 16:53. Просмотров 372. Ответов 6
Метки нет (Все метки)

Вот задание:
Дана последовательность целых чисел, за которой следует 0. Найти среднее арифметическое этой последовательности.
Ну и вот собственно мой вариант кода программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <iostream.h>
void main(void)
{
int f,x,n,s;
n=1;
while (x!=0)
{
cout<<"vvedite elem. posled. #"<<n<<" ";
cin>>x;
s+=x;
n++;
}
f=s/n;
cout<<"srednee arifmeticheskoe="<<f;
getch();
}
При вычислении f проблема состоит в n. Для вычисления программа берет последнее значение суммы из цикла, но почему то не последнее значение n. Собственно впорос в том, как задать это последнее значение n..а может я вообще в корне неправильно делаю)

 Комментарий модератора 
Используйте теги форматирования кода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2011, 16:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужна помощь, чтобы разобраться в несложной программе (последовательность) (C++):

народ срочно нужна ваша помощь,не могу разобраться с прогой - C++
Сжать n мерный целочисленный массив,удалив из него все элементы,величина которых находится в интервале .Освободившиеся в конце массива...

не могу разобраться в несложной задаче - C++
Задание: Даны целые числа a, b, c. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а...

Массив: Вставить в последовательность действительное число b так, чтобы последовательность осталась неубывающей. - C++
дана последовательность действительных чисел. вставить в нее действительное число b так, чтобы последовательность осталась неубывающей. ...

Помощь по программе - C++
Пожалуйста, помогите! Расскажите мне о кодах объектах и функциях в ФАСМ. Я назову объекты, а вы скажите мне пожалуйста, их коды и функции...

Нужна помощь с классом - C++
Вот напечатал это: #include &lt;iostream&gt; #define maxN 10 //количество вершин using namespace std; class directed_graph { ...

Нужна помощь по алгоритму - C++
Подскажите литературу, где можно найти алгоритм поиска всех простых циклов в графе граф задан матрицей смежности. Сам использую поиск в...

6
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
21.10.2011, 17:01 #2
1. Выберите цикл с пост условием.
2. При подсчете проверяйте, что n > 0.
0
ViT(Vet@l)
27 / 26 / 2
Регистрация: 13.12.2010
Сообщений: 334
21.10.2011, 18:02 #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
#include <iostream>
 
using namespace std;
 
int main()
{
    int massiv[100];
 
    cout << "Vvedite kolichestvo chisel" << endl;
 
    int a = 0, sum = 0;
 
    cin >> a;
 
    for(int i = 0; i < a; i++){
        cin >> massiv[i];
        sum+=massiv[i];
    }
 
    float sred = 0;
 
    sred =(float) sum / a;
 
    cout << sred;
 
    return 0;
}
0
C++++++
0 / 0 / 0
Регистрация: 21.10.2011
Сообщений: 11
21.10.2011, 18:12  [ТС] #4
Нужно использовать оператор предусловия, массив нельзя ;х но все равно спасибо)
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
21.10.2011, 18:41 #5
Все проще, до цикла поставьте
C++
1
2
n = 0;
cin >> x;
Затем
C++
1
2
3
4
5
6
7
while (x != 0)
{
   n++;
   cout<<"vvedite elem. posled. #"<<n<<" ";
   cin >> x;
   s += x;
}
0
aeshes
441 / 204 / 13
Регистрация: 07.10.2011
Сообщений: 462
21.10.2011, 18:58 #6
как-то так
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
#include <iostream>
using namespace std;
int main(void)
{
   int x,n,s;
   n=0;
   s=0;
   cout<<"Enter elem. #"<<n+1<<" of sequence: ";
   cin>>x;
   while (x!=0)
   {
      n++;
      s+=x;
      cout<<"Enter elem. #"<<n+1<<" of sequence: ";
      cin>>x;
   }
   if(n)
   {
      double f=(double)s/n;
      cout<<"Average="<<f<<endl;
   }
   else
      cout<<"Sequence is empty!\n";
   return 0;
}
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
21.10.2011, 19:07 #7
Цитата Сообщение от Thinker Посмотреть сообщение
C++
1
2
3
4
5
6
7
while (x != 0)
{
   n++;
   cout<<"vvedite elem. posled. #"<<n<<" ";
   cin >> x;
   s += x;
}
Да, забыл строчки местами поменять:

C++
1
2
3
4
5
6
7
while (x != 0)
{
   n++;
   s += x;
   cout<<"vvedite elem. posled. #"<<n<<" ";
   cin >> x;
}
0
21.10.2011, 19:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2011, 19:07
Привет! Вот еще темы с ответами:

нужна помощь по л.р. (вопросы) - C++
значит ниже задания, в 3. и 4. нужно найти ошибки а рядом написать правильный вариант : 2. Чему равен результат выражения: x =...

Нужна помощь с MD5 на Си/Си++ - C++
Мне нужны либо библиотеки, в которых реализована функция-аналог md5() на PHP, либо код. Но библиотеки для висуалс++ не предлагать. Также...

CALLBACK. Нужна помощь - C++
Всем привет! Есть такой код: class ExpressionCalculator { private: ...

Нужна помощь Строки. - C++
Составить программу вывода последовательности символов ZYYXXX...AA..AA Y на экран.


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

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

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