Суббота, 04.05.2024, 01:54

Delphi

Приветствую Вас Гость

Друзья сайта
Статистика

Сегодня были:
Самые активные пользователи

Меню сайта
Наш опрос
Чему уделять больше внимания?
Всего ответов: 64
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Delphi » Для новичков » из програмки в процедуру (...)
из програмки в процедуру
sleepesДата: Вторник, 08.04.2008, 20:10 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 27
Репутация: 0
Статус: Offline
короче написал програмку, а надо сделать так что бы ее функции выполнялись в процедуре

програмка:

Code
program Project1;

{$APPTYPE CONSOLE}

uses
   SysUtils;

var
    s1:String;
    N,i,j:integer;
    mas,masfin: array[1..5] of string;
begin
   for i:=1 to 5 do
      readln (mas[i]);
   for j:=1 to 5 do
      begin
       s1:=mas[j];          
       for i:=1 to Length(s1) do
          begin
           N:=pos('  ',s1);
           if N>0 then
             begin
              delete(s1,N,2);
              Insert(' ',s1,N);
             end;
          end;
       masfin[j]:=s1;
      end;
   writeln;
   for i:=1 to 5 do
      writeln (masfin[i]);
   readln;
end.

Добавлено (08.04.2008, 20:10)
---------------------------------------------
вот что за процедуру получил:

Code
program Project1;

{$APPTYPE CONSOLE}

uses
   SysUtils;

var
    mas: array[1..5] of String;
    masfin: array of String;
    q: integer;
procedure sgat(masnach: array of String);
          var
             s: string;
             N,i,j: integer;
          begin
             for j:=1 to 5 do
                begin
                 s:=mas[j];
                 for i:=1 to Length(s) do
                    begin
                     N:=pos('  ',s);
                     if N>0 then
                       begin
                        delete(s,N,2);
                        Insert(' ',s,N);
                       end;
                    end;
                masfin[j]:=s;
                end;
          end;
begin
   for q:=1 to 5 do
      readln (mas[кью]);
   sgat(mas);
   writeln;
   for q:=1 to 5 do
      writeln (masfin[кью]);
   readln;
end.

кью=q просто оно матюкается если q оставить)

только с процедурой не работает((
что не так сделал? уже неделю ломаю голову(

 
IvinДата: Среда, 09.04.2008, 14:55 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 46
Репутация: 0
Статус: Offline
writeln (masfin[кью]); тут матюкается?
 
sleepesДата: Среда, 09.04.2008, 14:58 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 27
Репутация: 0
Статус: Offline
оно просто выбрасует, а при пошаговом запуске видно что в цикл не входит(, ну который в процедуре
 
IvinДата: Среда, 09.04.2008, 15:10 | Сообщение # 4
Admin
Группа: Администраторы
Сообщений: 46
Репутация: 0
Статус: Offline
sleepes,
1) procedure sgat(masnach: array of String); измени на procedure sgat();
2) Ты прям так и компилишь writeln (masfin[кью]); или изменяеш кью на q?
3) Заполнение массива проходит или нет?
 
sleepesДата: Среда, 09.04.2008, 15:28 | Сообщение # 5
Сержант
Группа: Пользователи
Сообщений: 27
Репутация: 0
Статус: Offline
1) не помогшло, тупо выбило ошибку ниже, что параметр не указан
2) заменяю на q просто на форуме q воспринимается как тег
3)масив заполняется но не обрабатывается

короче послезаполнения програма доходит до чюда
procedure sgat(masnach: array of String);
var
s: string;
N,i,j: integer;
begin
for j:=1 to 5 do

сразу после жтого момента идет переход в конец к ридлн, что перед последним эндом

 
IvinДата: Четверг, 10.04.2008, 16:20 | Сообщение # 6
Admin
Группа: Администраторы
Сообщений: 46
Репутация: 0
Статус: Offline
sleepes, сделай пункт 1 и пункт 4 (см. ниже)

4) sgat(mas); измени на sgat();
И все будет работать biggrin

 
sleepesДата: Четверг, 10.04.2008, 18:17 | Сообщение # 7
Сержант
Группа: Пользователи
Сообщений: 27
Репутация: 0
Статус: Offline
спс, все работает
 
Форум » Delphi » Для новичков » из програмки в процедуру (...)
  • Страница 1 из 1
  • 1
Поиск: