Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Неправильно роботает програма 
:(
    Опции темы
Славан_Slavan
Дата 2.11.2005, 19:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я зделал програму и она не роботает!!!
Вот Задача. Исправте меня пожалуста!!!!
Нужно написать програму чтоби она розархивувала текст. Например
KF4(T)G10(N)L
Должно быть:KFTTTTGNNNNNNNNNNL
Вот что я зделал
Код

uses Crt;
var a,o,b,qw,c,d,n,i:integer;
    s1,s:string;
begin
read(s);
clrscr;
n:=length(s);
for i:=1 to n do
if s[i]='('then
begin;
val(s,o,qw);
end;
for a:=1 to b do
s1:=s1+s[i];
delete(s,n,length(s));
write(s);
end.

  Вверх
volvo877
Дата 2.11.2005, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Вот так попробуй:
Код
uses Crt;
var
  s1,s: string;
  i, j, n: byte;
begin
  clrscr;
  read(s);
  {
    s := 'KF4(T)G10(N)L';
    s := 'AB3(M)4(U)TT';
  }
  s1 := '';
  i := 1;
  while i <= length(s) do begin

    while (i <= length(s)) and
          not(s[i] in ['0' .. '9']) do begin
      s1 := s1 + s[i]; inc(i)
    end;
    n := 0;
    while (i <= length(s)) and
          (s[i] in ['0' .. '9']) do begin
      n := 10 * n + (ord(s[i]) - 48); inc(i)
    end;
    inc(i);
    for j := 1 to n do
      s1 := s1 + s[i];
    inc(i, 2);
  end;
  writeln(s1);
end.

PM MAIL   Вверх
Славан_Slavan
Дата 3.11.2005, 17:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасиба!!!!!!
  Вверх
Славан_Slavan
Дата 3.11.2005, 18:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть ошыбка, но я не найду.Програма не убирает дужку.Я пока не найду.Может ти найдеш бистрей.
  Вверх
volvo877
Дата 3.11.2005, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата
Програма не убирает дужку

Во-первых, какую "дужку"? И во-вторых, какую строку ты вводишь? На тех строчках, что я привел, программа отработала идеально...
PM MAIL   Вверх
Славан_Slavan
Дата 3.11.2005, 18:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Например:4(f)4(ret)2(we)
Выводит:ffffrrrrt)ww)
Должно:ffffretretretretwewe
Проверь!!!
  Вверх
volvo877
Дата 3.11.2005, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Ну, так ты бы сразу сказал, что в скобках может быть не только одна буква, а любое количество smile Тогда так:
Код
uses Crt;
var
  s1, s, st: string;
  i, j, n: byte;
begin
  clrscr;
  read(s);
  {
    s := 'KF4(T)G10(N)L';
    s := 'AB3(M)4(U)TT';
    s := '4(f)4(ret)2(we)';
  }

  s1 := '';
  i := 1;
  while i <= length(s) do begin
    while (i <= length(s)) and
          not(s[i] in ['0' .. '9']) do begin
      s1 := s1 + s[i]; inc(i)
    end;
    n := 0;
    while (i <= length(s)) and
          (s[i] in ['0' .. '9']) do begin
      n := 10 * n + (ord(s[i]) - 48); inc(i)
    end;
    inc(i);

    { Вот то, что я добавил (не забудь про описание st) }
    st := '';
    while (i <= length(s)) and (s[i] <> ')') do begin
      st := st + s[i]; inc(i);
    end;

    for j := 1 to n do
      s1 := s1 + st; { <-- и здесь тоже }
    inc(i);
  end;
  writeln(s1);
end.

PM MAIL   Вверх
Славан_Slavan
Дата 3.11.2005, 22:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Большое спасибо!!!!!
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0828 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.