Помощь - Поиск - Пользователи - Календарь
Полная версия: 4 простенькие задачки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
ilua_great
Пояснение к первым 2 задачам: В данной программе множества и массивы заполняются или с использованием генератора случайных чисел, или несредственно в теле программы ( в зависимости от задания). На экран следует выводить как исходные данные(множества, массивы, строки), так и результат.
1) Дано произвольное множество целых чисел M в интервале 1..255 и массив 10х10, содержащий значения также в интервале 1..255. Удалить из исходного множества все элементы, входящие в массив.
2) Дано произвольное множество целых чисел в интервале 1..20. Найти сумму и произведение всех элементов множества.

Пояснение к вторым 2 задачам: Исходные данные вводятся с клавиатуры.
1) Даны строки S и S0(нуливое). Найти количиство вхождений строки S0 в строку S.
2) Даны строки S и S0. Удалить из строки S первую подстроку совпадающую с S0. Если совпадающих подстрок нет, то вывести строку S без изменений.

ЗЫ Я понимаю, что задачи простые(скорее всего), но т.к. давно ничего не делал на Паскале, то врятле я их решу. Решить их попросила одна знакомая. Сдавать нада уже завтра, так что хотелось бы чтобы ктонибудь помог до вечера unsure.gif
ilua_great
Ну хотябы эту 1) Даны строки S и S0(нуливое). Найти количиство вхождений строки S0 в строку S.
Остальные мне помогли на другом форуме unsure.gif
Alеx J'Root
1) Перебиваешь строки в множество.
2) Потом считаешь кол-во вхождений.
ilua_great
если често то я в этом вообше не соображаю. unsure.gif
Вообшем мне сказали что на базе этого решения можно чтото сделать, помогите чем можете.

2) Даны строки S и S0. Удалить из строки S первую подстроку совпадающую с S0. Если совпадающих подстрок нет, то вывести строку S без изменений.

program zzz2;
uses crt;
var
a,s:string;
i:integer;
begin
write('vvedite stroky: ');
readln(s);
write('vvedite ydaliaemoe slovo: ');
readln(a);
delete(s,pos(a,s),length(a));
writeln(s);
readln;
end.

Добавлено через 17 мин.
усе, всем кто пытался помочь - спасибо, всё готово smile.gif
volvo
<...> Ну, решил, так решил... Как знаешь...
ilua_great
Дано произвольное множество целых чисел в интервале 1..20. Найти сумму и произведение всех элементов множества.

program zzz;
uses crt;
var
mas:array[1..20] of integer;
i, sum,proiz,k:integer;
BEGIN
randomize;
ClrScr;
k:=0;
proiz:=1;
for i:=1 to 20 do
begin
mas[i]:=random(5);
k:=k+mas[i];
proiz:=proiz*mas[i];
write(mas[i]:3);
end;
writeln;
writeln('Summa elementov ',k);
writeln('Proizvedenie elementov ',proiz);
readkey;
END.

---------
Даны строки S и S0. Удалить из строки S первую подстроку совпадающую с S0. Если совпадающих подстрок нет, то вывести строку S без изменений.

program zzz2;
uses crt;
var
a,s:string;
i:integer;
begin
write('vvedite stroky S: ');
readln(s);
write('vvedite stroky S0: ');
readln(a);
delete(s,pos(a,s),length(a));
writeln(s);
readln;
end.

---------
Дано произвольное множество целых чисел M в интервале 1..255 и массив 10х10, содержащий значения также в интервале 1..255. Удалить из исходного множества все элементы, входящие в массив.

program zzz3;
USES
CRT;
VAR
m1:array[1..255] of integer;
m2:array[1..20,1..20] of integer;
i,j :integer;
BEGIN
ClrScr;
randomize;
writeln('MASSIV 10x10');
for I:=1 to 10 do
Begin
writeln;
for J:=1 to 10 do
Begin
m2[I,J]:=round(random(505-255));
write(m2[I,J]:4,' ');
End;
End;

writeln;
writeln;
writeln('POSLEDOVATELNOST');
writeln;

for I:=1 to 10 do
begin
m1[i]:=round(random(505-255));
write(m1[i]:5);
end;
readkey;
END.

-----------
Даны строки S и S0(нуливое). Найти количиство вхождений строки S0 в строку S.

program zzz4;
var s,a:string;
k,i:integer;
begin write('vvedite stroky S:');
readln(s);
write('vvedite stroky S0: ');
readln(a);
k:=0;
while pos(a,s)>0 do
begin k:=k+1;
delete(s,pos(a,s),length(a));
end;
write('kolichestvo vhozdenyi':,'',k);
readln;
end.


ПРАЛЬНО? blink.gif
volvo
Тебе ж решили? Вот у них и спрашивай!
Alеx J'Root
Цитата
Тебе ж решили? Вот у них и спрашивай!


+1 lol.gif
ilua_great
dry.gif ппц
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.