Подсчитать количество одинаковых чисел в целочисленном массиве - Pascal

Узнай цену своей работы

Формулировка задачи:

Написать программу алгоритма, который подсчитывает и выводит на дисплей количество одинаковых чисел в массиве целых чисел А [1...35]

Решение задачи: «Подсчитать количество одинаковых чисел в целочисленном массиве»

textual
Листинг программы
const
    nMax = 35;
type
    TArrayType = ShortInt;
    TNonUniq = record
        number: ShortInt;
        count: Byte;
    end;
var
    orig: Array[0..nMax - 1] Of TArrayType;
    nonUniq: Array[0..nMax - 1] Of TNonUniq;
    i, j, nnu, cnu: Byte;
    flag: Boolean;
    sum: Word;
begin
    nnu := 0;
    Randomize();
    Write('Original array:');
    for i := 0 to nMax - 1 do
    begin
        orig[i] := Random(19) - 9;
        Write(orig[i]:4);
        flag := False; j:= 0;
        while ((Not flag) And (j < nnu)) do
        begin
            flag := (orig[i] = nonUniq[j].number);
            Inc(j);
        end;
        if (flag)
        then
            Inc(nonUniq[j - 1].count)
        else
        begin
            nonUniq[nnu].number := orig[i];
            nonUniq[nnu].count := 1;
            Inc(nnu);
        end;
    end;
    WriteLn; sum := 0; cnu := 0;
    for i := 0 to nnu - 1 do
        with nonUniq[i] do
            if (count > 1)
            then
            begin
                WriteLn(number:4, #9, count);
                Inc(sum, count);
                Inc(cnu);
            end;
    WriteLn('Количество повторяемых чисел: ', cnu);
    WriteLn('Количество повторов без первого использования числа: ', sum - cnu);
end.

Объяснение кода листинга программы

  1. Объявлены константы: nMax = 35, TArrayType = ShortInt, TNonUniq = record number: ShortInt; count: Byte; end;
  2. Задаются исходные данные: orig: Array[0..nMax - 1] Of TArrayType; nonUniq: Array[0..nMax - 1] Of TNonUniq; i, j, nnu, cnu: Byte; flag: Boolean; sum: Word;
  3. Инициализируются счётчики: nnu := 0;
  4. Задаются случайные значения для массива orig;
  5. Выводится приглашение к вводу исходного массива;
  6. Цикл по всем элементам массива orig;
  7. Для каждого элемента orig выполняется поиск в массиве nonUniq;
  8. Если элемент не найден, он добавляется в массив nonUniq;
  9. Выводится количество повторяющихся чисел и сумма их повторов;
  10. Выводится количество повторов без первого использования числа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы