Используя библиотеки iostream, string, fstream, cstring разработать программу. В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов, найти и вывести на экран слова, которые входят в текст более одного раза. Выводимые слова упорядочить по убыванию количество вхождения слов в текст. Выведенную информацию продублировать в текстовый файл, имя которого задает пользователь. 1. Русский текст 2. Размер текста любой, но должно быть выведено на экран 10 строк по 80 символов и дальнейшая работа совершаться с ними 3. Вывод на экран информации в случае ошибки открытия файла и отсутствия одинаковых слов 4. Подключение пространства std в начале программы, т.е. не нужно это писать перед каждой командой в программе 5. Программу сделать через циклы, без кейсо
i,n,s:byte; //Здесь мы описываем переменные i- флаг, n - наше число N, s- переменная "деления"
label l1; // Здесь мы
begin
l1:i:=0; //Установка метки на начало программы и установка флага на первоначальное значение - НЕТ
repeat //проверка N на подлинность
if i=1 then
write('Не верный ввод данных!Повторите ввод:')
else
write('Введите номер N:'); // Условие при котором в первый раз выводится предложение где нас просят ввести N, а если же мы её ввели не правильно выводится ошибка и опять нас просят ввести N так продолжается пока мы не введем правильный N
readln(n);
i:=1; // Установка флага - ДА
untill (n>=1) and (n<100); // Ограничения N
writeln('Ваше множество:');// Вывод множества;
for i:=n to 99 do // из условия следует что числа будут в диапазоне от 1 до 99 т.к они натуральные и двухзначные
begin
s:=i mod 11; //Условие при котором Цифры повторяются т.е. делятся на 11
if (s<>0) then write(i,'; '); // Проверка условия выше;
end;
writeln;
write('Повторить программу?(1-Да, 0-Нет)-');// Предложение о том сделать ли еще раз программу
read(i);
if (i=1) then goto L1; // опять же установка флага и переход к метке L1; если же условие не выполняется, то конец программы
end.
CSize2=6;
CSize3=5;
type TMas1=array[1..CSize1,1..CSize1] of integer;
TMas2=array[1..Csize2, 1..CSize2] of integer;
TMas3=array[1..Csize3, 1..CSize3] of integer;
var A1:TMas1;
A2:TMas2;
A3:TMas3;
i,j,x, y:byte;
function zero(i:integer):boolean;
begin
zero:=false;
if i=0 then zero:=true;
end;
function interval(i:integer):boolean;
begin
interval:=false;
if (i<=12) and (i>=1) then interval:=true;
end;
begin
X:=0;
Y:=0;
randomize;
for i:=1 to CSize1 do
begin
for j:=1 to CSize1 do
begin
A1[i, j]:=random(50);
write(A1[i, j]:3);
if zero(A1[i, j]) then inc(x);
if interval(A1[i,j]) then inc(y);
end;
writeln;
end;
writeln('Kol-vo 0 =', x);
writeln('Kol-vo v intervale=', y);
writeln;
x:=0;
y:=0;
for i:=1 to CSize2 do
begin
for j:=1 to CSize2 do
begin
A2[i, j]:=random(50);
write(A2[i,j]:3);
if zero(A1[i,j]) then inc(x);
if interval(A2[i,j]) then inc(y);
end;
writeln;
end;
writeln('Kol-vo 0 =', x);
writeln('Kol-vo v intervale=', y);
writeln;
x:=0;
y:=0;
for i:=1 to CSize3 do
begin
for j:=1 to CSize3 do
begin
A3[i, j]:=random(50);
write(A3[i,j]:3);
if zero(A3[i,j]) then inc(x);
if interval(A3[i,j]) then inc(y);
end;
writeln;
end;
writeln('Kol-vo 0 =', x);
writeln('Kol-vo v intervale=', y);
writeln;
x:=0;
y:=0;
end.