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

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

Войти
Регистрация
Восстановить пароль
 
opium95
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 86
#1

Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел) - C++

19.02.2013, 18:53. Просмотров 745. Ответов 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
26
#include <iostream.h>
double srarifm (int n);
void main()
{
int n,b;
do{
cout<<"vvedite kol-vo vvodimyh chisel";
cin>>n;
cout<<"srar vseh chisel= "<<srarifm(n)<<endl;
cout<<"1-DA 2-NET"<<endl;
cin>>b;
}
while (b==1);
}
double srarifm (int n) {
int total=0;
int num;
double srar=0;
for(int i=1; i<=n; ++i) {
cout <<"vvedite chislo: ";
cin>>num;
total+=num;
}
srar=(double)total/n;
return srar;
}
Потом нужно было сделать её с указателями , вышло примерно вот :
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
#include <iostream.h>
 
double SR(int *begin, int *end) {
  int numberOfElements = end - begin;
  int sum = 0;
  while (begin != end) {
    sum += *begin++;
  }
  return (double)sum / numberOfElements;
}
 
void readSequenceAndPrintAverage(int n) {
  int *vector = new int[n];
  cout << "Please, enter " << n << " elements." << endl;
  for (int i = 0; i < n; ++i) {
    cout << "Vvidite chislo " << i << ": ";
    cin >> vector[i];
  }
  cout << "SREDNEE ARIFMETICHESKOE " << SR(vector, vector + n) << endl;
  delete [] vector;
}
 
int main(int argc, char **argv) {
  readSequenceAndPrintAverage(3);
 
  
  return 0;
}
Но тут проблемка , тут изначально задано кол-во чисел которые надо ввести , а надо чтоб ты сам задал кол-во , и их вводил.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 18:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел) (C++):

Одномерные массивы + указатели (среднее арифметическое чисел, введенных с клавиатуры) - C++
День добрый. В общем не получается у меня запустить эту задачу с помощью указателей: #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...

Вывести среднее арифметическое 10-ти подряд введенных чисел. C++ - C++
Вывести среднее арифметическое 10-ти подряд введенных чисел.

Вывести на экран сумму и среднее арифметическое последовательности положительных чисел, введенных с клавиатуры - C++
Доброго времени суток. Помогите пожалуйста с написанием программы. &quot;Найти и вывести на экран сумму и среднее арифметическое...

Ввести последовательность, показать количество введенных чисел, их общую сумму и среднее арифметическое - C++
Условие : Организовать беспрерывный ввод чисел с клавиатуры, пока пользователь не введёт 0. После ввода нуля, показать на экран...

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

Найти среднее арифметическое квадратов и среднее арифметическое абсолютных значений двух вещественных чисел - C++
Всем здрасте помогите плиз. Дается два вещественных числа. Найти среднее арифметическое их квадратов и среднее арифметическое их абсолютных...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
19.02.2013, 19:33 #2
Цитата Сообщение от opium95 Посмотреть сообщение
тут изначально задано кол-во чисел которые надо ввести , а надо чтоб ты сам задал кол-во , и их вводил.
C++
1
2
3
4
// . . .
cin>> n;
int *vector = new int[n];
// . . .
1
opium95
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 86
19.02.2013, 19:41  [ТС] #3
СПАСИБКИ

а вот программу изначальную можно как то по другому переделать с указателями?
0
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
19.02.2013, 19:59 #4
Я бы так сделал

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
int accumulate(int* first,int* last)
{
   int sum=0;
   for(; first!=last; ++first) sum+= *first;
   return sum;
}
 
int main()
{
    int size=0;
    cin>> size;
 
    int* A= new int[size];
 
    for(int i=0; i<size; i++) cin>>A[i];
 
    int m= accumulate(A,A+size)/size;
 
    cout<<"result="<<m<<endl;
 
    delete[] A;
 
    getchar();
    return 0;
}
1
никита11я
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 13
19.02.2013, 20:02 #5
Можно написать как в первой программе в main()
C++
1
2
3
4
5
6
7
int main(int argc, char **argv) {
    int n;
    cout << "Vvedite kol-vo chisel: ";
    cin >> n;
    readSequenceAndPrintAverage(n);
    return 0;
}
1
opium95
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 86
19.02.2013, 20:29  [ТС] #6
Плиз , соедини эти куски , точто первое написал норм робит , там тока с тем как написать
введите число : (пишу число) ентер
и на след строке уже тупо пусто, и тупо ввожу число.
а кусок который дал я не понял куда его)))

Добавлено через 6 минут
ну а так всё ок норм)

Добавлено через 48 секунд
а я допёр это разные люди ХЪ всёравно пасибки
0
никита11я
1 / 1 / 0
Регистрация: 09.01.2013
Сообщений: 13
20.02.2013, 19:40 #7
Цитата Сообщение от opium95 Посмотреть сообщение
Плиз , соедини эти куски
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
#include <iostream.h>
 
double SR(int *begin, int *end) {
    int numberOfElements = end - begin;
    int sum = 0;
    while (begin != end) {
        sum += *begin++;
    }
    return (double)sum / numberOfElements;
}
 
void readSequenceAndPrintAverage(int n) {
    int *vector = new int[n];
    cout << "Please, enter " << n << " elements." << endl;
    for (int i = 0; i < n; ++i) {
        cout << "Vvidite chislo " << i << ": ";
        cin >> vector[i];
    }
    cout << "SREDNEE ARIFMETICHESKOE " << SR(vector, vector + n) << endl;
    delete [] vector;
}
 
int main(int argc, char **argv) {
    int n;
    cout << "Vvedite kol-vo chisel: ";
    cin >> n;
    readSequenceAndPrintAverage(n);
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2013, 19:40
Привет! Вот еще темы с ответами:

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

Все отрицательные значения массива утроить, найти среднее арифметическое всех чисел - C++
Помогите создать числовой массив А. Значение N вводиться с клавиатуры. Все отрицательные значения утроить, найди среднее...

Удалить все простые числа и найти среднее арифметическое до и после удаления простых чисел - C++
Помогите пожалуйста разобрать ошибки и дописать программу. Ошибки: Функции должны возвращать значение Программа: Удалить все простые...

Найти среднее арифметическое всех элементов массива введенных с клавиатуры - C++
1)в массиве из 5 элементов ввести все элементы с клавиатуры в цикле for и вывести на экран в прямом и обратном порядке. 2)найти среднее...


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

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

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