Написать программу для решения задач в стиле турбо паскаля 80-х годов.
1.В массиве храниться информация ло количестве людей, живущих на каждом из 15 этажей дома(на первом этаже - в первом элементе массива,на втором - во втором и т.д.) Определить два этажа, на которых проживает меньше всего людей.
Примечание: Задачу решить, не используя два прохода по массиву.
2. В начале массива записаны несколько равных между собой элементов. Определить количество таких элементов и вывести все элементы, следующие за последним из них. Рассмотреть возможность того, что весь массив заполнен одинаковыми элементами
СтарыйМатематик:
для каждой задачи своя программа
Ответы
Ответ дал:
1
uses Crt;
const
n=15;
var
i,m1,m2,t:integer;
k:array[1..n] of integer;
begin
ClrScr;
Writeln('Укажите количество людей на каждом этаже');
for i:=1 to n do Read(k[i]);
Writeln;
{ массив получен, решаем задачу }
m1:=1; m2:=2;
if k[m2]<k[m1] then begin t:=m1; m1:=m2; m2:=t end;
for i:=3 to n do
if k[i]<k[m2] then begin m2:=i; t:=m1; m1:=m2; m2:=t end;
Writeln('Меньше всего людей на этажах ',m1,' и ',m2);
ReadKey
end.
**************************************************************************************
uses Crt;
const
n=10;
a:array[1..n] of integer=(6,6,6,6,3,5,2,1,0,7);
var
i,j,t:integer;
begin
ClrScr;
t:=a[1];
i:=2;
while (i<=n) and (a[i]=t) do i:=i+1;
if i<=n then begin
Writeln('Одинаковых элементов: ', i-1);
Write('За ними следуют элементы ');
for j:=i to n do Write(a[j],' ');
Writeln
end
else Writeln('Весь массив заполнен одинаковыми элементами');
ReadKey
end.
const
n=15;
var
i,m1,m2,t:integer;
k:array[1..n] of integer;
begin
ClrScr;
Writeln('Укажите количество людей на каждом этаже');
for i:=1 to n do Read(k[i]);
Writeln;
{ массив получен, решаем задачу }
m1:=1; m2:=2;
if k[m2]<k[m1] then begin t:=m1; m1:=m2; m2:=t end;
for i:=3 to n do
if k[i]<k[m2] then begin m2:=i; t:=m1; m1:=m2; m2:=t end;
Writeln('Меньше всего людей на этажах ',m1,' и ',m2);
ReadKey
end.
**************************************************************************************
uses Crt;
const
n=10;
a:array[1..n] of integer=(6,6,6,6,3,5,2,1,0,7);
var
i,j,t:integer;
begin
ClrScr;
t:=a[1];
i:=2;
while (i<=n) and (a[i]=t) do i:=i+1;
if i<=n then begin
Writeln('Одинаковых элементов: ', i-1);
Write('За ними следуют элементы ');
for j:=i to n do Write(a[j],' ');
Writeln
end
else Writeln('Весь массив заполнен одинаковыми элементами');
ReadKey
end.
Приложения:
![](https://st.uroker.com/files/c34/c34911065364e1bc10160f2eb114f118.jpg)
Вас заинтересует
5 месяцев назад
5 месяцев назад
1 год назад
2 года назад
2 года назад