Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Вопрос

Автор: -Даша- 22.06.2008 18:03

Подскажите пожалуйста!

Вот задание: Ввести с клавиатуры две строки. Вывести на экран пары букв, стоящие на одинаковых местах в строке. {например: «СНИКЕРС» , «ЙОРГУРТ»: СЙ, НО, ИР, КГ, …}
var a,b:string;
i,j:integer;
begin
writeln('Vvedite 1 stroky');
readln (a);
writeln ('Vvedite 2 stroky');
readln (b);
i:=length (a);
writeln('Dlina1:',i);
j:=length (b);
writeln('Dlina2:',j);
writeln ('Otvet: ',a[1],a[1]a[i],a[j]) {как выводить буквы строки с a[1],b[1] по a[i],b[j] ???}
end.

Как сделать, чтобы выводились только буквы и собственно говоря как вывести сам ответ. Непонятно.
Помогите исправить программу.

Автор: renesko1 22.06.2008 18:35

Видимо надо использовать цикл.
for i := 1 to length(MenschoeSlovoPoDline) do
...writeln(String1[i], string2[i]) ;

наверное так.

Автор: -Даша- 22.06.2008 19:17

Цитата(renesko1 @ 22.06.2008 15:35) *

Видимо надо использовать цикл.
for i := 1 to length(MenschoeSlovoPoDline) do
...writeln(String1[i], string2[i]) ;

наверное так.


И куда надо его вставить?

Автор: renesko1 22.06.2008 19:29

writeln ('Otvet: ',a[1],a[1]a[i],a[j]) {как выводить буквы строки с a[1],a[1] по a[i],a[j] ???}
сюда

Автор: Vinsent90 22.06.2008 19:52

Как-то так...

uses crt;
var a,b,c:string;
i,j,k,l:integer;
begin clrscr;
writeln('Vvedite 1 stroky');readln (a);
writeln('Vvedite 2 stroky');readln (b);
writeln('Dlina1:',length(a));
writeln('Dlina2:',length(b));
if length(a)>length(b) then l:=length(b) else l:=length(a);
write('OTBET : ');
for i:=1 to l do begin
c[1]:=a[i]; c[2]:=b[i]; write(c[1],c[2],';'); end;

readkey;clrscr;
end.

Автор: -Даша- 22.06.2008 20:02

Цитата(Vinsent90 @ 22.06.2008 16:52) *

Как-то так...
uses crt;
var a,b,c:string;
i,j,k,l:integer;
begin clrscr;
writeln('Vvedite 1 stroky');readln (a);
writeln('Vvedite 2 stroky');readln (b);
writeln('Dlina1:',length(a));
writeln('Dlina2:',length(b));
if length(a)>length(b) then l:=length(b) else l:=length(a);
write('OTBET : ');
for i:=1 to l do begin
c[1]:=a[i]; c[2]:=b[i]; write(c[1],c[2],';'); end;

readkey;clrscr;
end.



Спасибо! Программа работает.
Только остался один вопрос: как сделать так, чтобы программа выводила только буквы?

Автор: volvo 22.06.2008 20:23

Цитата
как сделать так, чтобы программа выводила только буквы?
Тебе написали выше, что надо пользоваться циклом... И написали КАКИМ (то, что написано в сообщении №5 - именно "как-то", не надо так делать, незачем вводить лишние сущности - переменные - ТОЛЬКО для того, чтобы их распечатать, а вводить переменную типа String - 255 байт, а использовать только ОДИН из них - это верх безумия...)