Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Люди, подскажите как в C++ массив обьявить глобальным чтоб и в функции можно было использовать?
Заранее спасибо.

1
  1  Бабушкин Олег, 18 декабря 2009 г. 13:58:54
      Похоже тема должна была называться где можно скачать самоучитель по С++...
  2  Делюкин Максим Викторович, 18 декабря 2009 г. 11:42:41
      Во-первых, где глобальное объявление массива а? Есть лишь локально объявление внутри main() ( "int a[array];" ), функция SORT не видит массив а[].
Во-вторых, функция SORT не возвращает никакого значение (фактически это процедура), а ты пытаешься возвратить функции число ("return a[X];"). Если действительно надо возвратить значение функции, то следует писать "int SORT(int L, int R,int A)".
Ошибка могла возникать по двум причинам: не найден a[X], попытка возвратить значение в процедуре.
В-третьих, почему-бы вместо "di=div((L+R),2);" не написать "di=(L+R)/2;". Так же не увидел определения di (разве что div_t di;).
В-четвертых, если требуется написать сортировку (а мне кажется автор пытается сделать это), то можно сделать так:

#include <stdio.h>
#include <algorithm>
using namespace std;
static const int M = 20;
int main()
{
int i, a[M];
for (i=0; i < M; ++i )
{
a[i]=M-i;
printf("%2d ",a[i]);
}
printf("\n");
sort(a,a+M);
for (i=0; i < M; ++i )
printf("%2d ",a[i]);
printf("\n");
}
  3  Беляев Сергей Николаевич, 18 декабря 2009 г. 4:09:09
      И где в этой программе глобально описан массив, как описано ниже? Опишите массив до описания всех функций!
  4  Петька, 17 декабря 2009 г. 21:23:23
      return не работает. вот код:

#include <stdio.h>
#include <stdlib.h>
#include "math.h"
#define array 100

void SORT(int L, int R,int A)
{
int I,J,X,W;
return a[X];
div_t di;
I=L;
J=R;
di=div((L+R),2);
X=a[di];
....
}

int main()

{

int a[array];
...
}
  5  Делюкин Максим Викторович, 17 декабря 2009 г. 21:14:25
      Всё так и есть.
  6  Петька, 17 декабря 2009 г. 21:12:12
      А если мне надо весь массив глобализировать а не только переменную a[x]?
  7  Бабушкин Олег, 17 декабря 2009 г. 20:58:19
      int a[100];
int function(int x)
{
return a[x];
}
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru