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

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

Восстановить пароль Регистрация
 
opium95
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 86
19.02.2013, 18:53     Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел) #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
#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;
}
Но тут проблемка , тут изначально задано кол-во чисел которые надо ввести , а надо чтоб ты сам задал кол-во , и их вводил.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2013, 18:53     Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел)
Посмотрите здесь:

C++ Вычислите среднее арифметическое положительных и среднее арифметическое отрицательных чисел
Вычислить среднее арифметическое и среднее геометрическое нечетных чисел, кратных 7 в диапазоне от M1 до M2 C++
Все строки матрицы, где находится более двух простых чисел, обнулить. Найти среднее арифметическое элементов до и после обнуления C++
Одномерные массивы + указатели (среднее арифметическое чисел, введенных с клавиатуры) C++
C++ Выясните, что больше: среднее арифметическое или среднее геометрическое трех положительных чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,605
Записей в блоге: 17
19.02.2013, 19:33     Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел) #2
Цитата Сообщение от opium95 Посмотреть сообщение
тут изначально задано кол-во чисел которые надо ввести , а надо чтоб ты сам задал кол-во , и их вводил.
C++
1
2
3
4
// . . .
cin>> n;
int *vector = new int[n];
// . . .
opium95
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 86
19.02.2013, 19:41  [ТС]     Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел) #3
СПАСИБКИ

а вот программу изначальную можно как то по другому переделать с указателями?
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,605
Записей в блоге: 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;
}
никита11я
 Аватар для никита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;
}
opium95
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 86
19.02.2013, 20:29  [ТС]     Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел) #6
Плиз , соедини эти куски , точто первое написал норм робит , там тока с тем как написать
введите число : (пишу число) ентер
и на след строке уже тупо пусто, и тупо ввожу число.
а кусок который дал я не понял куда его)))

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

Добавлено через 48 секунд
а я допёр это разные люди ХЪ всёравно пасибки
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2013, 19:40     Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел)
Еще ссылки по теме:

Найти среднее арифметическое и среднее геометрическое заданных чисел C++
C++ Удалить все простые числа и найти среднее арифметическое до и после удаления простых чисел
Функция вычисляющая среднее арифметическое и среднее геометрическое C++

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

Или воспользуйтесь поиском по форуму:
никита11я
 Аватар для никита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;
}
Yandex
Объявления
20.02.2013, 19:40     Функция , Указатели , С++ , Задачка (среднее арифметическое все введенных чисел)
Ответ Создать тему
Опции темы

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