Вопрос задан 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
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Романова Софья.
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
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи на языке Pascal, мы можем воспользоваться словарем (ассоциативным массивом) для подсчета количества каждой цифры в массиве. Затем мы просто выведем полученные результаты.

Ниже приведен пример программы на языке Pascal для решения этой задачи:

pascal
program 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.

Программа сначала запрашивает у пользователя размер массива и его элементы, затем подсчитывает количество каждой цифры в массиве и выводит результат в формате "цифра-количество".

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос