Может кто сможет помочь накатать прогу в Ассемблере (MASM32 v10).

компьютеры программирование программы assembler ассемблер

Имеется строка длиной до 100 символов, в которой несколько раз встречается сочетание ”array”. Сформировать строку, содержащую вместо указанного сочетания строку с сочетанием “simple”.

Примечание:
Надо что бы ноги росли отсюда!

program Kursa4;
var
str,str2: string;
a: array[1..100] of string;
i,l: integer;
begin
write('Vvedite stroku dlinoy d0 100 simvolov i soderjashuyu sochetanie "array".');
write(' Programma proizvedet zamenu sochetaniya "array" na sochetanie "simple".');
write(' ');
write('str=');
readln(str);
l:=length(str);
If l>100 Then str:=copy(str,1,100);
For i:= 1 to l do a[i]:=copy(str,i,1);
For i:= 1 to l do
If (a[i]='a')And(a[i+1]='r')And(a[i+2]='r')And(a[i+3]='a')And(a[i+4]='y') Then begin
a[i]:='s';
a[i+1]:='i';
a[i+2]:='m';
a[i+3]:='p';
a[i+4]:='le';
end;
For i:= 1 to l do
str2:=str2+a[i];
write('Na vihode poluchili stroku s sochetanirm "simple" vmesto "array"');
write(' ');
write('str2=');
writeln(str2);

write('Najmite klavishu "Enter"');
readln;
end.

Примечание:
или отсюда

program Kursa4;
var
str,str2,rstr: string;
i,j: integer;
begin
rstr:='array';
write('Vvedite stroku dlinoy d0 100 simvolov i soderjashuyu sochetanie "array".');
write(' Programma proizvedet zamenu sochetaniya "array" na sochetanie "simple".');
write(' ');
write('str=');
readln(str);
i:=1;
If length(str)>100 then str:=copy(str,1,100);
while (i<=length(str)) do begin
j:=1;
If (length(str)-i)>=4 then
While str[i+j-1]=rstr[j] do Inc(j);
If j>=5 Then begin
str2:=str2+'simple';
i:=i+5;
end else begin
str2:=str2+str[i];
Inc(i);
end;
end;
write('Na vihode poluchili stroku s sochetanirm "simple" vmesto "array"');
write(' ');
write('str2=');
writeln(str2);
write('Najmite klavishu "Enter" dlya vihoda iz programmi');
readln;
end.
Ответы:
Вот код замены. Win API использую только для отображения окна с исходной и результирующей строкой. Ввод строки и проверку на количество символов делай сам.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.