
Вопрос задан 30.07.2023 в 22:10.
Предмет Информатика.
Спрашивает Мокрова Маша.
Решите задачу по информатике на языке Pascale. Дан массив 1<n<1000 нужно вывести сколько
цифр. Выводить цифры в любом порядке. Например: массив 5Элементы массива 1 2 1 2 1Вывести 1-3 2-2Например:массив 5Элементы массива 5 4 3 2 1Вывести 5-1 4-1 3-1 2-1 1-1

Ответы на вопрос

Отвечает Романова Софья.
PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),0,9); a.Println;
a.GroupBy(t->t).Select(t->(t.Key,t.Count)).OrderBy(t->t[0])
.Foreach(t->Writeln(t[0],' - ',t[1]))
end.
Пример
n= 100
5 7 6 0 1 3 1 4 9 2 8 7 5 2 1 6 1 6 6 6 1 0 1 2 4 9 7 0 5 6 2 7 3 3 1 5 7 5 9 8 1 8 7 8 8 7 3 2 4 4 5 6 8 3 9 4 5 3 6 2 6 0 9 3 9 0 4 2 1 6 9 6 7 7 5 3 3 3 3 7 6 4 5 0 0 5 8 0 4 6 9 3 8 6 1 0 9 3 8 7
0 - 9
1 - 10
2 - 7
3 - 13
4 - 8
5 - 10
6 - 14
7 - 11
8 - 9
9 - 9
Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),0,9); a.Println;
a.GroupBy(t->t).Select(t->(t.Key,t.Count)).OrderBy(t->t[0])
.Foreach(t->Writeln(t[0],' - ',t[1]))
end.
Пример
n= 100
5 7 6 0 1 3 1 4 9 2 8 7 5 2 1 6 1 6 6 6 1 0 1 2 4 9 7 0 5 6 2 7 3 3 1 5 7 5 9 8 1 8 7 8 8 7 3 2 4 4 5 6 8 3 9 4 5 3 6 2 6 0 9 3 9 0 4 2 1 6 9 6 7 7 5 3 3 3 3 7 6 4 5 0 0 5 8 0 4 6 9 3 8 6 1 0 9 3 8 7
0 - 9
1 - 10
2 - 7
3 - 13
4 - 8
5 - 10
6 - 14
7 - 11
8 - 9
9 - 9



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для решения данной задачи на языке Pascal, мы можем воспользоваться словарем (ассоциативным массивом) для подсчета количества каждой цифры в массиве. Затем мы просто выведем полученные результаты.
Ниже приведен пример программы на языке Pascal для решения этой задачи:
pascalprogram CountDigitsInArray; const MAX_SIZE = 1000; type IntArray = array[1..MAX_SIZE] of Integer; DigitCounts = record digit: Integer; count: Integer; end; DigitCountsArray = array[0..9] of DigitCounts; procedure InitializeDigitCounts(var counts: DigitCountsArray); var i: Integer; begin for i := 0 to 9 do begin counts[i].digit := i; counts[i].count := 0; end; end; procedure CountDigits(var arr: IntArray; n: Integer; var counts: DigitCountsArray); var i: Integer; begin for i := 1 to n do begin Inc(counts[arr[i]].count); end; end; procedure PrintDigitCounts(var counts: DigitCountsArray); var i: Integer; begin for i := 0 to 9 do begin if counts[i].count > 0 then begin Write(counts[i].digit, '-', counts[i].count, ' '); end; end; end; var n, i: Integer; arr: IntArray; digitCounts: DigitCountsArray; begin // Ввод размера массива Write('Введите размер массива (n < 1000): '); Readln(n); // Ввод элементов массива Write('Введите элементы массива: '); for i := 1 to n do Read(arr[i]); // Инициализация счетчиков InitializeDigitCounts(digitCounts); // Подсчет цифр CountDigits(arr, n, digitCounts); // Вывод результата PrintDigitCounts(digitCounts); Readln; end.
Программа сначала запрашивает у пользователя размер массива и его элементы, затем подсчитывает количество каждой цифры в массиве и выводит результат в формате "цифра-количество".


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 572

Информатика 1113

Информатика 10

Информатика 32

Информатика 16

Информатика 578

Информатика 21
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili