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

Переменная не меняется, помогите исправить - C++

Восстановить пароль Регистрация
 
vetal_x
 Аватар для vetal_x
18 / 18 / 2
Регистрация: 23.01.2013
Сообщений: 350
27.02.2014, 00:57     Переменная не меняется, помогите исправить #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
#include <iostream>
using namespace std;
const int NUM = 30;
void SerchMax(float a[NUM], int n, float ma){
    int i;
    ma=a[0];
    for(i=1;i<n;i++)
    {
       if(a[i]>ma)ma=a[i];
       a[i]=0;
    }
    ma=9;
}
int main()
{
    float a[NUM],b[NUM],ma1=0,ma2=0,s;
    int i,n=0,m=0;
    do
    cin>>a[n++];
    while(cin.get()!='\n');
    do
    cin>>b[m++];           
    while(cin.get()!='\n');
    SerchMax(a,n,ma1);
    SerchMax(b,m,ma2);
    cout<<((ma1+ma2)/2.0);
}
итак, после выполнения процедур переменная ма не меняется, помогите исправить. Функцию нельзя использовать, нужно именно процедурой
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
27.02.2014, 01:05     Переменная не меняется, помогите исправить #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
vetal_x, напишите так вот
C++
1
void SerchMax(float a[NUM], int n, float &ma)
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
27.02.2014, 12:01     Переменная не меняется, помогите исправить #3
vetal_x, присваивания в 6,9,12 строках осуществляются над локальной переменной внутри функции. Почитайте про формальные и фактические параметры функций, передачу по значению и по ссылке(указателю), чтобы понимать почему так происходит.
vetal_x
 Аватар для vetal_x
18 / 18 / 2
Регистрация: 23.01.2013
Сообщений: 350
27.02.2014, 12:51  [ТС]     Переменная не меняется, помогите исправить #4
всем огромное, нечеловеческое спс!!!
Yandex
Объявления
27.02.2014, 12:51     Переменная не меняется, помогите исправить
Ответ Создать тему
Опции темы

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