Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Как купить рекламу на форуме


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

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме 40000 рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2018, 23:38   #1
Alexander_Petrenko
Новичок
Джуниор
 
Регистрация: 28.06.2018
Сообщений: 4
По умолчанию помогите с комментариями к строкам написали программы, работают, но не понимаем что написано

Из заданной символьной строки, выбрать те символы, которые встречаются в ней только один раз, в том порядке, в котором они встречаются в тексте.

Код:
var
 s,s1:string;
 i,k,b:integer;
 p:boolean;
begin
 Writeln('BBedute Ctpoky');
 readln(s);
 b:=length(s);
 for i:=1 to b do
 begin
  k:=1;
  p:=true;
  while (k<=b) and (p) do
  begin
   if (s[k]=s[i]) and (k<>i) then
    p:=false;
   inc(k);
  end;
  if p then
   write(s[i])
 end;
 readln
end.
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 29.06.2018 в 00:39.
Alexander_Petrenko вне форума Ответить с цитированием
Старый 29.06.2018, 00:08   #2
Baburek
Форумчанин
 
Аватар для Baburek
 
Регистрация: 12.12.2010
Сообщений: 205
По умолчанию

А тему нормально написать никак? А команды погуглить и самим разобраться?

Код:
var // началось объявление переменных
s,s1:string;
i,k,b:integer;
p:boolean; // закончилось объявление переменных
begin // начало блока команд
Writeln('BBedute Ctpoky'); // выводим на экран сообщение с переносом строки
readln(s); // ожидается ввод строки s
b:=length(s); // длина строки s присваивается b
for i:=1 to b do  // запускается цикл от 1 до b
begin 
k:=1; // k присваивается 1
p:=true; // p присваивается true
while (k<=b) and (p) do 
// запускается и работает 
// цикл while (до тех пор пока k<=b и p = true)
begin
if (s[k]=s[i]) and (k<>i) then 
// если символ s[k] равен символу s[i] и k не равен i 
p:=false; // p присваивается false
inc(k); // k увеличивается на единицу
end; // конец цикла while
if p then // если p равен true
write(s[i]) // вывести s[i]
end; // конец цикла for
readln // ожидание ввода
end // конец блока команд
Возьмите листок бумаги и "выполните" код на нем, чтобы хоть понять что происходит.
Baburek вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с комментариями к строкам написали программы, работают, но не понимаем что написано Alexander_Petrenko Помощь студентам 16 29.06.2018 15:45
помогите с комментариями к строкам написали программы, работают, но не понимаем что написано Alexander_Petrenko Помощь студентам 0 28.06.2018 23:34
Фортран. Полный разбор программы с комментариями folmagaut Фриланс 1 03.06.2016 09:41
помогите с комментариями к тексту программы k221 Помощь студентам 1 06.10.2015 19:46
помогите с комментариями к тексту программы k221 Паскаль, Turbo Pascal, PascalABC.NET 1 06.10.2015 19:35