Помощь - Поиск - Пользователи - Календарь
Полная версия: Одномерный массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
vadim(b)
задание такое:написать программу входными данными которой является возраст n человек. Программа подсчитывает кол-во людей возраст которых находится в интервале 10 лет например:
0-9 -10 человек,
10-20 -15 человек,
20-30 -2 человека

я думаю делать ее так НО я не знаю как пройти по массиву (с конца) что бы он считал кол-во через 10 и сладывал кол-во человек в этой десятке и как сделть вывод в правильной форме(как в примере).

var
a:array[0..255] of byte;
i,j,t,p,b,g,n:integer;
begin
writeln('Vvedite_kol-vo_chelovek');
readln(n);
randomize;
for i:=1 to n do
begin
a[i]:=random(120); //заполняем массив из n человек, их возрастами
end;
for i:=1 to n do
begin
for j:=n downto i+1 do
if a[pred(j)]>a[j] then
begin
g:=a[pred(j)]; //упорядочиваеваем пузырьком
a[pred(j)]:=a[j];
a[j]:=g;
end;
writeln(a[i]);
end;
j:=1;
writeln('--------------------------------------');
for i:=n downto j do //перебираем с конца
begin
//??????

writeln(a[i]) ;
readln;
end.



У кого будут другие варианты скажите распишите плиз
T i m e
Код
program Vremya_01_03_07;
uses crt;
var n,i:integer;
a:array[1..100] of word;
b:array[1..10] of word;
begin
clrscr;
randomize;
repeat
writeln('Vvedite kolichestvo chelovek: ');
readln(n);
until (n > 0) and (n < 100);
for i := 1 to n do
begin
  a[i] := random(100);
  b[a[i] div 10+1] := b[a[i] div 10+1] + 1;
end;
for i := 1 to 10 do
writeln(i*10-10,'-',i*10-1,': ',b[i],'chel.');
readkey;
end.

Вот так легче всего. И сортировать ничего не надо. wink.gif
vadim(b)
СПАСИБО!
klem4
Цитата
0-9 -10 человек,
10-20 -15 человек,
20-30 -2 человека


Может
0-9
10-20
21-30

?

Я думаю именно так.

T i m e, твоя программа при

n = 2
a[1] = 20;
a[2] = 21

Выводит: 21-30: 2chel.
T i m e
Да, там на границе небольшой глюк получился. Просто там надо на 1 меньше писать числа которые выводишь...
Я отредактировал... klem4 спасибо, что обнаружил... извиняюсь за ошибку...
мисс_граффити
Цитата
0-9
10-20
21-30

тогда уж логичнее
0-9
10-19
20-29

М
Согласен smile.gif klem4

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