Помощь - Поиск - Пользователи - Календарь
Полная версия: массивы
Форум «Всё о Паскале» > 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.

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