Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2011, 23:18   #1
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию Ошибка в коде программы (Delphi)

Помогите найти ошибку. Буду очень признателен.

Условие задачи

Пусть даны целое число n, символы S1,S2,...,Sn. Преобразуйте последовательность S1,S2,...,Sn, удалив каждый
символ звездочки и повторив каждый символ, отличный от звездочки.

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,windows;

const nmax=200;
var a:array[1..nmax] of char;
    n,i,j:integer;
begin
setconcolecp(1251);
setconsoleoutputcp(1251);
readln(n);
for I := 1 to n do
  Read(a[i]);
for I := 1 to n do
  write(a[i],' ');
for I := n downto 1 do
    if a[i]='*' then
      begin
        for j := i to n-1 do
          a[j]:=a[j+1];
          n:=n-1;
      end;
      else
        begin
          for j := n to i do
            a[j+1]:=a[j];
          n:=n+1;
        end;
i:=1;
while i<=n do
begin
  for j := n to i do
    a[j+1]:=a[j];
  n:=n+1;
i:=i+2;
end;
writeln;
for I := 1 to n do
  write(a[i],' ');
readln;
readln;
end.

Последний раз редактировалось Начинающий програм; 01.12.2011 в 23:23.
Начинающий програм вне форума Ответить с цитированием
Старый 02.12.2011, 20:13   #2
Padla*
 
Аватар для Padla*
 
Регистрация: 03.11.2011
Сообщений: 7
По умолчанию

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;


procedure Zamina(var s: string; i:integer);
begin
  if i < Length(s)-1 then
    if (s[i] = '*')then
     begin
       delete(s, i, 1);
       zamina(S, i);
       END
       ELSE  BEGIN
       insert(S[I], s, i);
       zamina(S, i+2);
                  END;
end;

var
 s:string;
begin
    writeln('Vvedit radok'); readln(s);

      Zamina(s,0);
    writeln(s);
    readln;
    READLN;
end.
пОЧЕМУ НЕ ТАК?
95% ошибок windows сидит в полуметре от экрана монитора...)))
Padla* вне форума Ответить с цитированием
Старый 02.12.2011, 22:12   #3
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Я Вам очень благодарен! Но мне сказал препод, чтоб задача была сделана без процедуры. Можно как-то переиначить код программы?

Последний раз редактировалось Начинающий програм; 02.12.2011 в 22:15.
Начинающий програм вне форума Ответить с цитированием
Старый 02.12.2011, 23:18   #4
Padla*
 
Аватар для Padla*
 
Регистрация: 03.11.2011
Сообщений: 7
Радость

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
var
 s:string;I:INTEGER;
begin
    writeln('Vvedit radok'); readln(s);
       I:=0;
    WHILE (i <= Length(s))DO
    if (s[i] = '*')then
       delete(s, i, 1)
    ELSE  BEGIN
       insert(S[I], s, i);
       I:=I+2;
      END;
    writeln(s);
    readln;
    READLN;
end.
ВОТ... ЕСЛИ БУДУТ ПРОБЛЕМИ - ПИШЫТЕ...если помогло жми весы...
95% ошибок windows сидит в полуметре от экрана монитора...)))

Последний раз редактировалось Padla*; 02.12.2011 в 23:41.
Padla* вне форума Ответить с цитированием
Старый 03.12.2011, 22:28   #5
Начинающий програм
Форумчанин
 
Аватар для Начинающий програм
 
Регистрация: 22.11.2011
Сообщений: 201
По умолчанию

Большое Вам спасибо за помощь! Программа работает безупречно, Вы очень меня выручили!
Начинающий програм вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде программы VB Мина Помощь студентам 1 02.12.2011 06:54
Ошибка в коде программы. Не выполняется. steeledguy Помощь студентам 2 19.11.2011 03:25
Ошибка в коде программы eXtrem Помощь студентам 5 09.04.2011 19:34
Ошибка в коде шифрующей программы. как исправить Dima_Sat Помощь студентам 0 18.12.2009 13:35
[C++] ошибка в коде программы!! jazzben Помощь студентам 12 27.09.2008 19:25