Помощь - Поиск - Пользователи - Календарь
Полная версия: массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Dik
Народ выручайте!

Задачка номер 1:
составить вектор повторяющихся чисел исходного вектора .
тоесть если есть массив : 2 15 3 2 3 5 2 8 17 5
ответ должен выглятет следующим образом
2 3 5 (число)
3 2 2 (сколько раз встречается)



Задачка номер 2:
количество простых чисел в i-той строке
volvo
Задача №1:


const
 maxItems = 10;
type
 arrType = array[1 .. maxItems] of word;

const
 arr: arrType =
   (2, 15, 3, 2, 3, 5, 2, 8, 17, 5);

{ самый неэффективный способ сортировки }
procedure sort(size: word; var ia: arrType);

 procedure swap(a, b: word);
   var T: word;
   begin
     T := ia[a]; ia[a] := ia[b]; ia[b] := T
   end;

 var
   i, j, ixmin: word;
 begin
   for i := 1 to size - 1 do
     begin
       ixmin := i;
       for j := i + 1 to size do
         if ia[j] < ia[ixmin] then ixmin := j;
       swap(i, ixmin);
     end;
 end;

var
 item, count: array[1 .. maxItems] of word;
 i, index, possibly, cnt: word;
Begin
 { сортируем массив }
   sort(maxItems, arr);

 i := 1;
 index := 1;
 repeat
   possibly := arr[i];
   cnt := 0;
   repeat
     inc(i); inc(cnt);
   until (possibly <> arr[i]) or (i > maxItems);

   if cnt > 1 then
     begin
       item[index] := possibly;
       count[index] := cnt;
       inc(index)
     end;
 until i > maxItems;

 dec(index);

 writeln(#10#13'Items:');
 for i := 1 to index do
   write(item[i], ' ');
 writeln(#10#13'Count:');
 for i := 1 to index do
   write(count[i], ' ');

End.

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