В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Nichisniuk2017
Nichisniuk2017
24.10.2020 19:55 •  Информатика

Найти ошибку в коде не находит максимальные значения.: в исходном текстовом файле записаны строки, содержащие текст на языке.
требуется написать программу, которая для каждой строки исходного файла будет
определять и выводить в результирующий файл букву, встречающуюся в этой
строке чаще всего, и количество там таких букв. строчные и прописные буквы при этом
считаются не различимыми. если искомых букв несколько, то программа должна выводить на
экран первую из них по алфавиту.
uses crt;
const
lat = ['a'..'z'];
type mas = array['a'..'z'] of integer;

procedure strtomas(s: string; var a: mas);
var
c: char;
i: integer;
begin
for c : = 'a' to 'z' do
a[c] : = 0;
for i : = 1 to length(s) do
if s[i] in lat then
a[upcase( : = a[upcase( + 1;
end;

procedure max(var a: mas; var s: string; var k: char; amax: integer);
var
c: char;
begin
amax : = 0;
c : = 'a';
for c : = 'a' to 'z' do
begin
strtomas(s, a);
if a[c] > amax then
amax : = a[c];
k : = c;
end;
end;

procedure mastostr(var a: mas; var sres: string);
var
c, k: char;
amax: integer;
s: string;
begin
sres : = '';
k : = ' ';
amax : = 0;
for c : = 'a' to 'z' do
begin
if a[c] > 0 then
max(a, s, k, amax);
sres : = sres + k + ' ' + amax + ',';
if length(sres) > 2 then
delete(sres, length(sres) - 1, 2);
end;
end;

procedure filetofile(var f1, f2: text);
var
sres, s: string;
a: mas;
begin
reset(f1);
while not eof(f1) do
begin
readln(f1, s);
if s < > '' then begin
strtomas(s, a);
mastostr(a, sres);
end
else sres : = '';
rewrite(f2);
writeln(f2, sres);
end;
close(f1); close(f2);
end;

var
f1, f2: text;
fname1, fname2: string;

begin
clrscr;
task;
write('введите имя исходного файла ');
readln(fname1);
assign(f1, fname1);

if fileexists(fname1) then begin

write('введите имя результата ');
readln(fname2);
assign(f2, fname2);
filetofile(f1, f2);
end
else writeln('файл с таким именем не существует');
end.

Показать ответ
Ответ:
макс10710
макс10710
03.08.2020 21:17

{PascalABC}

Program Begenjov1997;

const

 n = 30; {Количество элементов массива}

 m = 10000; {Максимально возможное значение элемента}

var

 a:array[1..n] of integer;

 i, sum: integer;

 s:string;

begin

 s:=' -=Alphaeus=- ';

 for i:=1 to 22 do begin write(s[i]); sleep(60) end;

{заполняем массив случайными числами}

 writeln; randomize;

 for i:=1 to n do

   begin

     a[i]:=random(m+1);

   end;

{Ищем максимальную сумму двух соседних элементов}

 sum:=a[1]+a[2];

 for i:=2 to n-1 do

     if (a[i]+a[i+1]>sum) then sum:=a[i]+a[i+1];

{Заменяем элементы, кратные 3, наденной суммой}

 for i:=1 to n do

     if (a[i] mod 3 = 0) then  a[i]:=sum;

{Вывод}

 writeln('Массив А в обратном порядке:');

 for i:=0 to n-1 do writeln(a[n-i],'  ');

 writeln();

 writeln('Максимальная сумма двух соседних элементов равна ',sum);

end.

0,0(0 оценок)
Ответ:
lchayanb17
lchayanb17
03.08.2020 21:17

Program Begenjov1997;

const

 n = 30; {Количество элементов массива}

 m = 10000; {Максимально возможное значение элемента}

var

 a:array[1..n] of integer;

 i, min, max: integer;

 s:string;

begin

 s:=' -=Alphaeus=- ';

 for i:=1 to 22 do begin write(s[i]); sleep(60) end;

{заполняем массив случайными числами}

 writeln; randomize;

 for i:=1 to n do a[i]:=random(m+1);

{Ищем максимальный и минимальный элементы}

 min:=a[1]; max:=a[1];

 for i:=1 to n do

   begin

     if (a[i]>max) then max:=a[i];

     if (a[i]<min) then min:=a[i];

   end;

{Заменяем минимальные элементы на максимальные}

 for i:=1 to n do

   if (a[i] = min) then a[i]:=max;

{Вывод}

 writeln('Массив:');

 for i:=1 to n do writeln(a[i]);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота