Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Chelovek.
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 9
1

Процедурные превратности

26.10.2010, 23:10. Просмотров 295. Ответов 3
Метки нет (Все метки)

Подскажите пожалуйста, как сделать чтобы процедура возвращала в основную программу значение переменной и массив с числами, например в такой программе:

Delphi
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
var
 Asor,C,B:array[0..1000] of integer;
  k,i:integer;
 
   procedure AVvod(var Asor,B:array of integer;k:integer);
 var  i,n:integer;
 begin   write('chislo potokov:');
    readln(k);
     randomize;
     for i:=1 to k do
     Asor[i]:=random(20);
     for i:=1 to  k  do
    writeln(Asor[i]);
    readln;
    write('chislo tactov:');
    readln(n);
     for i:=1 to n do
     B[i]:=random(20);
     for i:=1 to  n  do
    writeln(B[i]);
    readln;
 end;
 
begin
  AVvod(Asor,B,k);
   for i:=1 to  k  do
    writeln(Asor[i]);
  readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2010, 23:10
Ответы с готовыми решениями:

Процедурные типы
Разработать программу вычисления таблицы значений интеграла (приложение 2) с...

Процедурные типы
Добрый день! Возник вопрос: Завели процедуру Process в классе: TForm1 =...

Процедурные типы данных
Для чего они нужны если есть обычные процедуры и функции???

Процедурные типы
Здравствуйте, помогите решить задание ...

Процедурные типы
Здравствуйте, помогите разобраться, заранее спасибо E_8(H_7(x))L_1(y)+L_7(z)...

3
leejack
190 / 177 / 37
Регистрация: 19.01.2010
Сообщений: 606
Записей в блоге: 1
27.10.2010, 00:41 2
я так понял у тебя переменную к невыводит? просто написать надо так
Delphi
1
procedure AVvod(var Asor,B:array of integer;var k:integer);
1
Xander Bass
Йошь-мыслитель
121 / 115 / 25
Регистрация: 22.02.2009
Сообщений: 677
Записей в блоге: 5
27.10.2010, 06:38 3
Chelovek., во-первых, я, если честно, не понимаю, зачем объявлять заново в процедуре переменную, если она и так объявлена глобально. Во-вторых, объявление переменной в глобале отличается от переменной в процедуре типом. В первом случае массив статический, во втором - динамический. По крайней мере, насколько я вижу по коду. Лучше сделать так:

Delphi
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
var
  Asor,C,B:array[0..1000] of integer;
  k,c:integer;
procedure AVvod;
var 
  i,n:integer;
begin  
  Write('Chislo potokov:');
ReadLn(k);
  Randomize;
  for i:=1 to k do Asor[i]:=Random(20);
  for i:=1 to k do WriteLn(Asor[i]);
  ReadLn;
  Write('Chislo tactov:');
  ReadLn(n);
  for i:=1 to n do B[i]:=Random(20);
  for i:=1 to n do WriteLn(B[i]);
  ReadLn;
end;
 
begin
  AVvod;
  for i:=1 to  k  do WriteLn(Asor[i]);
  ReadLn;
end.
Притом, если честно, я не понимаю назначение переменной C
0
Chelovek.
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 9
27.10.2010, 16:45  [ТС] 4
Точно! Я чувствовала что из-за какой-то глупости не работает)))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2010, 16:45

Процедурные переменные
прошу прощения, но нет рядом книги, не взял. нужно вызвать процедуру, одну из...

Процедурные типы
Здравствуйте, пожалуйста помогите понять в чем ошибка, заранее спасибо, буду...

процедурные функции
описать процедуру Bell(A,N),меняющую порядок элементов массива A размера N на...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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