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

Создание функций для работы с массивами - C++

Восстановить пароль Регистрация
 
_kod_
4 / 4 / 0
Регистрация: 24.10.2011
Сообщений: 84
22.04.2012, 13:37     Создание функций для работы с массивами #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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//---------------------------------------------------------------------------
#include <iostream.h>
#include <string.h>
#include <vcl.h>
#pragma hdrstop
const int MAX = 10;
 
//---------------------------------------------------------------------------
int * vvod(void);
int show(const int *);
double srednee(int *, int);
#pragma argsused
int main(int argc, char* argv[])
{
 int *pi = vvod();
 int show( pi);
 cout<<endl;
 double sr = srednee(pi, times );
 cout<<"Srednee value all games is: ";
 cout<<sr<<endl;
 system("pause");
        return 0;
}
 
int * vvod()
 {
  int *p_arr = new int[MAX];
  cout<<"Enter value of game (q for exit): "<<endl;
   for( int i = 0;i<MAX;i++)
    {
     cin>>p_arr[i];
     if (cin.fail() == true )
      {
       break;
      }
 
    }
   cin.clear();
   return p_arr;
 }
  int show(const int *pi)
   {
    int i = 0;
 
    for( i =0;i<sizeof pi+1;i++)//Понял, что sizeof = 4 и слил эту затею :))
     cout<<pi[i]<<" ";
    return i;
   }
 
double srednee(int *pi, int times)
 {
  double sum;
    for(int i =0;i<times;i++)
     {
      sum+=pi[i];
     }
   return sum/times;
 }
//---------------------------------------------------------------------------
Надо бы узнать размер массива...Причем делать это динамически...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2012, 13:37     Создание функций для работы с массивами
Посмотрите здесь:

Использование функций для работы с одномерными и двухмерными массивами C++
C++ Использование функций для работы с одномерными и двухмерными массивами
C++ Функции для работы с массивами
C++ реализовать класс для работы с одномерными массивами указателей строк
C++ разработать программу для работы с двумерными массивами
Создание шаблонной функции для работы с массивами разных типов данных C++
C++ Создать класс для работы с массивами
C++ Есть ли готовая функция для работы с массивами?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
22.04.2012, 16:41     Создание функций для работы с массивами #2
Надо бы узнать размер массива...Причем делать это динамически...
Размер массива - столько, сколько выделили с помощью new[] (MAX). И где delete[]? делаете new[] - делайте delete[], или не работайте с дин. памятью. Аналогично new/delete.
C++
1
double sr = srednee(pi, times );
Непонятно, что за переменную 'times' вы передаёте в фунцию, ведь она ранее не объявлена.
C++
1
2
3
double srednee(int *pi, int times)
{
double sum;
В 'sum' будет мусор, т.к. не инициализировали, а потом ещё что-то к нему прибавляете.
Yandex
Объявления
22.04.2012, 16:41     Создание функций для работы с массивами
Ответ Создать тему
Опции темы

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