Другие языки программирования и технологии
помогите решить задачи на паскале 1Во входном файле дана последовательность чисел. Требуется найти второе по величине чи
Требуется найти второе по величине число в этой последовательности, то есть наибольшее число в последовательности, строго меньшее её максимума. Формат входных данных В первой строке входного файла записано число - количество элементов в последовательности. Во второй строке содержится целых чисел, разделенных пробелами. Все числа во входном файле целые от -100 до 100. В последовательности обязательно будет хотя бы два различных числа. 2Во входном файле дана последовательность чисел. Требуется найти количество чисел, равных максимальному числу в последовательности. Формат входных данных В первой строке входного файла записано число - количество элементов в последовательности. Во второй строке содержится целых чисел, разделенных пробелами. Все числа во входном файле целые от до .
Программы по обеим задачам практически идентичны, разница в деталях. Но всё равно это не дело: в одном вопросе несколько заданий. Один вопрос - одна задача, иначе только в личку и только за плату.
Входной файл в обеих программах input.txt должен находиться в одном каталоге с программой.
1)
program N64295226;
var f:text; {для Delphi var f:TextFile;}
i, n, x, max1, max2:integer;
begin
assign(f,'input.txt'); {для Delphi AssignFile(f,'input.txt');}
reset(f);
readln(f,n);
max1 := -500;
for i := 1 to n do
begin
read(f,x);
if (i = 1) or (x > max1) then
begin
max2 := max1;
max1 := x
end
else
if (x <> max1) and (x > max2) then
max2 := x
end;
close(f); {для Delphi CloseFile(f);}
writeln('Второе по величине число последовательности: ',max2);
readln
end.
2)
program N64295226_2;
var f:text;
i, n, x, max, nmax:integer;
begin
assign(f,'input.txt');
reset(f);
readln(f,n);
for i := 1 to n do
begin
read(f,x);
if (i = 1) or (x > max) then
begin
max := x;
nmax := 0
end;
if x = max then
inc(nmax) {или nmax := nmax + 1}
end;
close(f);
writeln('Максимальное число: ',max);
writeln('Их кол-во: ',nmax);
readln
end.
P.S. inga zajonc, такие задачи сочиняются для получения навыков работы с файлами, а не с массивами. И, как правило, в таких заданиях использование массивов запрещено.
Так же, см. постскриптум.
Входной файл в обеих программах input.txt должен находиться в одном каталоге с программой.
1)
program N64295226;
var f:text; {для Delphi var f:TextFile;}
i, n, x, max1, max2:integer;
begin
assign(f,'input.txt'); {для Delphi AssignFile(f,'input.txt');}
reset(f);
readln(f,n);
max1 := -500;
for i := 1 to n do
begin
read(f,x);
if (i = 1) or (x > max1) then
begin
max2 := max1;
max1 := x
end
else
if (x <> max1) and (x > max2) then
max2 := x
end;
close(f); {для Delphi CloseFile(f);}
writeln('Второе по величине число последовательности: ',max2);
readln
end.
2)
program N64295226_2;
var f:text;
i, n, x, max, nmax:integer;
begin
assign(f,'input.txt');
reset(f);
readln(f,n);
for i := 1 to n do
begin
read(f,x);
if (i = 1) or (x > max) then
begin
max := x;
nmax := 0
end;
if x = max then
inc(nmax) {или nmax := nmax + 1}
end;
close(f);
writeln('Максимальное число: ',max);
writeln('Их кол-во: ',nmax);
readln
end.
P.S. inga zajonc, такие задачи сочиняются для получения навыков работы с файлами, а не с массивами. И, как правило, в таких заданиях использование массивов запрещено.
Так же, см. постскриптум.
В обоих случаях считать файл в массив - Free Pascal поддерживает динамические:
a:array of integer;
begin
...
readln(source,len);
SetLength(a,len);
отсортировать его по убыванию, в первой задаче - взять второй элемент, во второй - все элементы от 1 до последнего, равного ему.
a:array of integer;
begin
...
readln(source,len);
SetLength(a,len);
отсортировать его по убыванию, в первой задаче - взять второй элемент, во второй - все элементы от 1 до последнего, равного ему.
стучи в аську 1695 2714 3
Похожие вопросы
- помогите решить задачу Во входном файле дана последовательность чисел , число (количество чисел в после
- Помогите решить задачи по Паскалю
- помогите решить задачу на паскале: напечатать "столбиком" значения sin2, sin3, ..sin 20.
- Помогите решить задачу в паскале
- Помогите решить задачу в паскале. Задание: Заменить в строке все вхождения "да" на "нет".
- Помогите решить задачу на паскале
- Уважаемые!Помогите решить задачу по Паскалю,пожайлуста!
- Помогите решить задачу в паскале
- Помогите решить задачу (в паскале)!
- Помогите решить задачу в паскале, пожалуйста! !