Консультация № 136490
12.05.2008, 16:08
0.00 руб.
0 1 1
Уважаемые эксперты! Помогите, пожалуйста, решить задачу:
Дана строка, получить число, которое образуется первыми вхождениями цифр данной строки, расположенными по возрастанию и умножить это число на 5.

Заранее огромное спасибо! Swallow.

Обсуждение

давно
Профессор
401888
1232
12.05.2008, 18:26
общий
это ответ
Здравствуйте, Ласточка!
Решение задачи с пояснениями в приложении.

Приложение:
uses crt;var s,s1,s2:string; {строки} i,t,c:integer; mn:set of ‘0‘..‘9‘; {множество}beginclrscr;write(‘s: ‘);readln(s);s1:=‘‘;mn:=[]; {пустая строка и пустое множество}for i:=1 to length(s) do{если цифра и еще такой небыло}if (s[i] in[‘0‘..‘9‘])and not(s[i] in mn) then begin s1:=s1+s[i]; {добавляем цифру в новую строку} include(mn,s[i]); {добавляем ее во множество} end;s2:=s1[1];i:=2; {присваиваем новой строке первую цифру}while i<=length(s1) do begin if s1[i]>s1[i-1] then{начиная со второй проверяем пока цифры возрастают} begin s2:=s2+s1[i]; {если да, вставляем в строку S2.} i:=i+1; {переходим к следующей} end else i:=i+1; end;val(s2,t,c); {превращаем строку в число}writeln(‘Rezultat=‘,t*5); {выводим результат, умноженный на 5}readln
Форма ответа