Пятница, 29.03.2024, 18:26
Сайт учителей информатики
ГБОУ СОШ № 11 г. Москвы
Приветствую Вас Гость | RSS
Главная Свертка массива Регистрация Вход
Кабинет информатики

К уроку информатики

Планирование

Олимпиады и конкурсы

ЕГЭ и ГИА по информатике

Открытые мероприятия по информатике

Форма входа

Свертка массива

Мы попробовали решить задачу C4 из сборника подготовки к ЕГЭ, но сходу нам это не удалось. Поэтому было решено упростить задачу и решить одну из подзадач: составление списка уникальных элементов с подсчетом их количества. Упрощённое задание сформулировано так:

С клавиатуры  вводятся не более 10 числовых значений. Нужно заполнить двумерный массив уникальными значениями введенных чисел (в 1-м столбце) и количеством вхождений этих чисел (2 столбец), вывести кол-во уникальных значений в массиве и содержимое массива с указанием № строки массива, значения элемента и количества повторов.

Пример входных  данных:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 1
  • 2
  • 3
  • 4

Выходные данные:

№1 значение:1 кол-во повторов=3
№2 значение:2 кол-во повторов=2
№3 значение:3 кол-во повторов=2
№4 значение:4 кол-во повторов=2
№5 значение:5 кол-во повторов=1
Программа №1. Заполнения массива уникальными значениями с подсчетом количества повторов.

{Заполнение массива уникальными числами, вводимыми с клавиатуры}

Uses CRT;

Const

    MaxNum=10;      // Максимальное количество чисел в массиве

var

   arr: array[1..MaxNum] of integer;

   i,g: integer;         // Счетчики

   num: integer;         // Текущее введенное число

   n: integer;           // Заполнено элементов в массиве

   IsFound: boolean;     // Флаг результата поиска вхождения элемента в массив

 

begin

    cls;

    n:=0;

 

    for i:=1 to 10 do

    begin

        write('Введите число:');

        readln(num);

        // Проверка на вхождение элемента в массив

        // если элемент найден, то флаг IsFound := True

        IsFound:=false;

        for g:=1 to n do

        begin

            If arr[g]=num then

            begin

                 IsFound:=true;

                 writeln('Число ',num, ' уже существует!');

                 break;

            end;

        end;

 

        // Если элемент в массиве не найден, то добавить его

        if Not IsFound then

        begin

            Inc(n);

            arr[n]:=num;

            writeln('Число ',num, ' добавлено в массив.');

        end;

    end;

    writeln('Всего чисел в массиве:',n);

 

end.

ГБОУ СОШ № 11

Учителя информатики

Цитатник

Обратная связь

Поиск

Календарь
«  Март 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031

Архив записей

Informatika11 © 2024 Бесплатный хостинг uCoz