![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Уважаемые программисты, помогите пожалуйста оптимизировать программы (их две), и улучшить ее стиль (работают ли они вообще?). Задали в колледже, а я полный 0 в этом. Буду очень благодарен если мне кто-нибудь поможет!
№1 Код:
var a, b, i, x^ integer; begin readln(x); a:=x; b:=1; while a <>0 do begin b:=b*10; if a mod 10=0 then begin a:=a+9; i:=(x mod(b*10)); x:=(x mod b)+(a*(b div 10)); end; a:=a div 10; end; writeln(x); end. №2 Код:
var q,w,e,r,t:string; z,x,c,v:integer; begin readln(q); z:=length(q); c:=2; v:=1; for x:=1 to z do begin w:=copy(q,v,1); insert(w,q,c); v:=v+2; c:=v+1; end; writeln(q); end. Последний раз редактировалось Admin, 01.10.2012 в 20:24. |
|
#2
|
|||
|
|||
|
Напишите задание, что должны дедать программы?
|
|
#3
|
|||
|
|||
|
№2
ввести строку. "задвоить" каждый символ строки. задание первой узнаю завтра, за ранее благодарю! |
|
#4
|
||||
|
||||
|
Цитата:
Код:
var
S1, S2: string;
i: integer;
begin
Readln(S1);
SetLength(S2, Length(S1) * 2);
for i := 1 to Length(S1) do
begin
S2[i * 2 - 1] := S1[i];
S2[i * 2] := S1[i];
end;
Writeln(S2);
end. |
|
#5
|
|||
|
|||
|
Мой вариант:
Код:
var
S1, S2: string;
i: integer;
begin
Readln(S1);
S2 := '';
for I := 1 to Length(S1) do
S2 := S2 + S1[i] + S1[i];
Writeln(S2);
end.Для первой задачи нужно задание. Если все нули заменть на 9, то вариант через строку (Delphi): Код:
var S : String; begin ReadLn(S); WriteLn(StringReplace(S,'0','9',[rfReplaceAll])); end. Вариант с целыми числами: Код:
var
N, M, P, X : Integer;
begin
ReadLn(N);
M := 0;
P := 1;
While N <> 0 Do
Begin
X := N mod 10;
If X = 0
Then M := M + P * 9
Else M := M + P * X;
P := P * 10;
N := N div 10;
End;
WriteLn(M);
end. |
|
#6
|
|||
|
|||
|
огромное спасибо всем!!! вы мне очень помогли!!!!!
|