Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 29.06.2012, 14:53   #1 (ссылка)
Новичок
 
Аватар для GrizZzly)
 
Регистрация: 12.11.2010
Сообщений: 54
Репутация: 3
По умолчанию Pascal процедура

Здравствуйте, помогите пожалуйста составить процедуру, которая заполняет массив всеми нечетными числамами от a до b с параметром - массивом. Собственно, я написал так
Код:
  1 const
  2   a= 3;
  3   b= 71;
  4 type
  5   t= array of integer;
  6 procedure pro(ar:array of integer);
  7 var
  8   i,j,k :integer;
  9 begin
 10   k:=0;
 11   j:=0;
 12   for i:= a to b do begin
 13     if odd(i)=true then inc(k);
 14   end;
 15   setlength(ar,(k-1));
 16   for i:=a to b do begin
 17           if  odd(i)=true then begin
 18               ar[j]:=i;
 19               inc(j);
 20               write(ar[i], ' ');
 21           end
 22   end
 23 end;
 24 var
 25   mas:t;
 26 begin
 27   pro(mas);
 28 end.
при компиляции выдает ошибку
Compiling pro.pas
pro.pas(15,21) Error: Type mismatch
pro.pas(27,9) Warning: Variable "mas" does not seem to be initialized
pro.pas(29) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted

Заранее благодарен.
GrizZzly) вне форума  
Старый 29.06.2012, 18:40   #2 (ссылка)
Стажёр
 
Аватар для Pavlucha
 
Регистрация: 26.01.2010
Сообщений: 1,454
Репутация: 101
Профиль ВКонтакте
По умолчанию

Мой вариант:
Код:
const
  csize=1000;
type
  tarray=array [1..csize] of integer;
var
  a,b,n:integer;

procedure pro(var amas:tarray);
begin
  for n:=1 to csize do begin
    if a mod 2=0 then
      inc(a);
    amas[n]:=a;
    a:=a+2;
    if a>b then break;
  end;
end;

var mas:tarray;
    i:integer;
begin
  writeln('Введите начальное и конечное значение');
  readln(a,b);
  pro(mas);
  for i:=1 to n do
    write(mas[i],' ');
  readln
end.

Последний раз редактировалось Pavlucha; 29.06.2012 в 18:54.
Pavlucha вне форума  
Старый 29.06.2012, 20:57   #3 (ссылка)
Новичок
 
Аватар для GrizZzly)
 
Регистрация: 12.11.2010
Сообщений: 54
Репутация: 3
По умолчанию

на самом деле просто ar:t в процедуре, а выделение массива из 1001 эл-та для меня не подходит
GrizZzly) вне форума  
Старый 29.06.2012, 21:01   #4 (ссылка)
Стажёр
 
Аватар для Pavlucha
 
Регистрация: 26.01.2010
Сообщений: 1,454
Репутация: 101
Профиль ВКонтакте
По умолчанию

Цитата:
Сообщение от GrizZzly) Посмотреть сообщение
выделение массива из 1001 эл-та для меня не подходит
почему это?У тебя он вообще никак не обозначен,а это ошибка.и что такое setlength?
Pavlucha вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка (Не найдена указанная процедура) в программе Web Page Maker. Stmre 2401 Интернет и сети 0 09.01.2012 01:23
Процедура открытия формы с помощью Visual Basic (VS 2005) Alexei1986 Программирование 2 06.12.2011 23:06
Школопрограмирование. Pascal. z1mbabve Программирование 2 24.11.2011 00:40
Pascal abc Wenera Программы 0 29.11.2010 20:03
Переход с Pascal на C++ Garf Программирование 1 07.03.2010 01:22


Текущее время: 05:46. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.