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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2012, 17:23   #1
Vika_0_0
Пользователь
 
Регистрация: 09.03.2012
Сообщений: 34
Восклицание Free Pascal!! задание по строкам!!)

Каждой букве алфавита(букву ё не учитывать) поставить в соответствие код-номер места буквы в алфавите(от 1-32). Заданное слово записать с помощью кода, разделяя коды букв пробелами.
Vika_0_0 вне форума Ответить с цитированием
Старый 25.04.2012, 18:01   #2
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Не на всех компиляторах будет работать, я писал на Free Pascal:
Код:
program abc;
uses
  crt;
type
  TABC=array[160..192] of integer;
var
  s:string;
  i:integer;
  k:integer;
  abc:tabc;
begin
  readln(s);
  k:=1;
  for i:=160 to 192 do
    begin
      abc[i]:=k;
      inc(k);
    end;

  for i:=1 to length(S) do
    begin
      if ord(s[i])>175 then
        k:=ord(s[i])-48
      else
        k:=ord(s[i]);
      write(abc[k],' ');
    end;
  readln
end.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 25.04.2012, 18:06   #3
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Код:
 for i:=160 to 192 do
    begin
      abc[i]:=k;
      inc(k);
    end;
оригинально)
Код:
 for i:=160 to 192 do
    begin
      abc[i]:=i-159;
    end;
не?
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 25.04.2012, 18:17   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а так не проще?
Код:
const
  RusLo = 'абвгдежзийклмнопрстуфхцчшщъыьэюя';
  RusUp = 'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
var s : string;
 i, k : integer;
begin
   WriteLn('Введите слово на русском языке: ');
   Readln(s);
   for i:=1 to length(s) do begin
     k := Pos(s[i], RusLo);
     if k>0 then Write(k,' ')
     else begin
        k := Pos(s[i], RusUp);
        if k>0 then Write(k,' ');
     end;
   end;
   WriteLn;
   Readln
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.04.2012, 18:28   #5
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от IT-man Посмотреть сообщение
Код:
 for i:=160 to 192 do
    begin
      abc[i]:=k;
      inc(k);
    end;
оригинально)
Код:
 for i:=160 to 192 do
    begin
      abc[i]:=i-159;
    end;
не?
к - это атовизм от предыдущего варианта, потом не заметил

Serge_Bliznykov, согласен, как-то я на ord и char зациклился.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Free Pascal задание по ПРОЦЕДУРОАМ!! Vika_0_0 Паскаль, Turbo Pascal, PascalABC.NET 5 08.04.2012 10:10
Free Pascal!!! задание по массивам!!!!!!!!! Vika_0_0 Паскаль, Turbo Pascal, PascalABC.NET 10 13.03.2012 18:02
Turbo Pascal и Free Pascal , в чем разница? antoxann Паскаль, Turbo Pascal, PascalABC.NET 31 09.11.2011 07:52
Задание по строкам Шардлэйк Помощь студентам 12 10.12.2010 18:41
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28