• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Паскаль, символы и строки

  • Автор темы Автор темы Абай
  • Дата начала Дата начала

Абай

Новые
Регистрация
3 Июн 2011
Сообщения
19
Реакции
0
Баллы
0
Паскаль, символы и строки

Дана строка, изображающая арифметическое выражение вида
«<цифра>§<цифра>§: : :§<цифра>», где на месте знака операции «§»
находится символ «+» или «¡» (например, «4+7¡2¡8»). Вывести значе-
ние данного выражения (целое число).
 
Дана строка, изображающая арифметическое выражение вида "<цифра>+-<цифра>+-...+-<цифра>", где на месте знака операции "+-" находится символ "+" или "-"(например, "4+7-2-8").Вывести значение данного выражения(целое число).

Дано предложение. Зашифровать ее по этому правилу- поместив вначале все символы, расположенные на нечетных позициях строки. а затем, в обратном порядке, все символы, расположенные на нечетных позициях(например "Программа" превратится в "ргамамроП"). Расшифровать ее.
 
Дана строка, изображающая арифметическое выражение вида "<цифра>+-<цифра>+-...+-<цифра>", где на месте знака операции "+-" находится символ "+" или "-"(например, "4+7-2-8").Вывести значение данного выражения(целое число).
Код:
VAR
 S:String;
 i,d:Byte;
 Sum,Code:Word;
BEGIN
 Writeln('Enter the string:');
 Readln(S);
 Val(S[1],Sum,Code);
 For i:=1 to (Length(S) div 2) do
  begin
   Val(S[2*i+1],d,Code);
   If S[2*i]='+' then Inc(Sum,d) else Dec(Sum,d);
  end;
 Writeln('Sum= ',Sum);
 Readln
END.
Дано предложение. Зашифровать ее по этому правилу- поместив вначале все символы, расположенные на нечетных позициях строки. а затем, в обратном порядке, все символы, расположенные на нечетных позициях(например "Программа" превратится в "ргамамроП"). Расшифровать ее.
Прежде всего, попрошу повнимательнее относиться к формулировкам задач - думаете, делать нам нечего, как только в Ваших ляпах разбираться? Хорошо хоть пример приведен.
Код:
VAR
 S,S1,S2:String;
 C_even,C_odd:Array[1..128] of Char;
 i,N_odd,N_even:Byte;
BEGIN
 Writeln('Enter the string S:');
 Readln(S);
 Writeln;
 N_even:=Length(S) div 2;
 If (Length(S) mod 2)=0 then N_odd:=N_even else N_odd:=N_even+1;
 For i:=1 to N_even do
  C_even[i]:=S[2*i];
 For i:=1 to N_odd do
  C_odd[i]:=S[2*i-1];
 S1:='';
 Writeln('Encoded:');
 For i:=1 to N_even do
  S1:=S1+C_even[i];
 For i:=N_odd downto 1 do
  S1:=S1+C_odd[i];
 Writeln(S1);
 Writeln;
 S2:='';
 N_even:=Length(S1) div 2;
 N_odd:=Length(S1)-N_even;
 For i:=1 to N_even do
  C_even[i]:=S1[i];
 For i:=N_even+N_odd downto N_even+1 do
  C_odd[N_even+N_odd-i+1]:=S1[i];
 Writeln('Decoded:');
 For i:=1 to N_even do
  begin
   S2:=S2+C_odd[i];
   S2:=S2+C_even[i]
  end;
 If N_odd>N_even then S2:=S2+C_odd[N_odd];
 Writeln(S2);
 Readln
END.
 
Назад
Сверху