Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
alexs
Зарегистрирован: 13.10.2004 Сообщения: 2
|
Добавлено: Ср Окт 13 2004 10:43 Заголовок сообщения: Задачка на ТП 7.0 |
|
|
Народ , выручайте! Нужно решить следующую задачу:
Составить вектор повторяющихся чисел исходного вектора.Тоесть если задан след массив:2 15 3 2 3 5 2 8 17 5
ответ должен иметь следующий вид:
2 3 5 (числа)
3 2 2 (сколько раз встречается)
Я решил что проще будет сразу отсортировать а потом уже выводить , но застрял на выводе
текст программы:
Program ...;
uses crt;
const n=10;
var
i,j,temp,i_max:integer;
sortarray:array[1..10] of integer;
begin
clrscr;
writeln('Введите массив целых чисел');
for i:=1 to n do
begin
write('Введите ',i,'элемент массива');
readln(sortarray[i]);
end;
writeln('Ваш массив');
for i:=1 to n do
write(sortarray[i]:7);
writeln;
for i:=n downto 2 do
begin
i_max:=1;
for j:=1 to i do
if (sortarray[j]>sortarray[i_max])
then i_max:=j;
temp:=sortarray[i];
soartarray[i]:=soatarray[i_max];
soartarray[i_max:=temp;
end;
writeln('После сортировки ');
for i:=1 to n do;
write (sortarray[i]:7);
writeln;
readkey;
end.
Помогите дописать програмку. |
|
Вернуться к началу |
|
 |
Витал
Зарегистрирован: 09.08.2004 Сообщения: 73
|
Добавлено: Ср Окт 13 2004 11:14 Заголовок сообщения: |
|
|
count=1;
sortarray[n+1]:=-999;
for i:=1 to n do;
//write (sortarray[i]:7);
if sortarray[i+1]<>sortarray[i] then
begin
write (sortarray[i]:7);
write(count);
count:=1;
end
else
begin
count:=count+1;
end;
writeln;
readkey;
end.
Правда выводить не так будет,но можно результаты в массив засунуть,а его потом на печать вывести.Или прогани цикл пару раз,первый раз числа печатай,второй - сколько зар встречается.Вроде должно работать. |
|
Вернуться к началу |
|
 |
alexs
Зарегистрирован: 13.10.2004 Сообщения: 2
|
Добавлено: Чт Окт 14 2004 07:12 Заголовок сообщения: |
|
|
Огромное спасибо, счас обязателбно попробую. |
|
Вернуться к началу |
|
 |
|