Вопрос задан 11.07.2023 в 09:50. Предмет Информатика. Спрашивает Харьковский Андрей.

1. Дан одномерный целочисленный массив А, состоящий из N элементов, N - заданное натуральное

число. Элемент Ai (i=1,2,3…, N) назовем особыми, если он больше суммы остальных элементов. Составить одномерный массив В из особых элементов массива А, оканчивающихся на 5. Если таких элементов нет, то выдать соответствующее текстовое сообщение.2.Дан одномерный массив А, состоящий из N элементов, N - заданное натуральное число. Сколько значений элементов в массиве А встречается .более одного раза.(Язык Паскаль)
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сапрыкина Анютка.

===== PascalABC.NET =====

= 1 =

begin

 var n := ReadInteger('N =');

 var A := ArrRandom(n, -99, 99);

 A.Println;

 // собственно, решение

 var s := A.Sum; // сумма всех элементов массива

 var L := new List<integer>; // то, что войдет в массив В

 // берем каждого претендента и сравниваем его с остальной суммой

 for var i := 0 to A.High do

   if (Abs(A[i] mod 10) = 5) and (A[i] > s - A[i]) then

     L.Add(A[i]);

 var B := L.ToArray;

 if B.Length > 0 then

 begin

   Print('Особые элементы:');

   B.Print

 end  

 else

   Print('Нет "особых" элементов');

end.

= 2 =

begin

 var n := ReadInteger('N =');

 var A := ArrRandom(n, -10, 10);

 A.Println;

 // собственно, решение

 var D := new Dictionary<integer, integer>; // словарь

 foreach var k in A do // перебор элементов

   if D.ContainsKey(k) then

     D[k] += 1 // +1, если такой элемент был

   else

     D.Add(k, 1); // 1, если элемент встретился впервые

 D.Count(p -> p.Value > 1).Print

end.



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Приведу решения задач на языке Паскаль:

  1. Найти особые элементы массива А, оканчивающиеся на 5:
pascal
program SpecialElements; const MaxN = 100; // Максимальное количество элементов массива var A, B: array[1..MaxN] of Integer; // Массивы N, Sum, i, j: Integer; begin // Ввод количества элементов Write('Введите количество элементов N: '); Readln(N); // Ввод элементов массива А WriteLn('Введите элементы массива A:'); for i := 1 to N do Readln(A[i]); // Поиск суммы всех элементов Sum := 0; for i := 1 to N do Sum := Sum + A[i]; // Формирование массива В j := 0; for i := 1 to N do begin if (A[i] > Sum - A[i]) and (A[i] mod 10 = 5) then begin j := j + 1; B[j] := A[i]; end; end; // Вывод массива В или сообщения if j > 0 then begin WriteLn('Массив B из особых элементов:'); for i := 1 to j do WriteLn(B[i]); end else WriteLn('Особых элементов, оканчивающихся на 5, нет.'); end.
  1. Найти количество значений элементов, встречающихся более одного раза:
pascal
program CountDuplicateValues; const MaxN = 100; // Максимальное количество элементов массива var A: array[1..MaxN] of Integer; // Массив N, i, j, count: Integer; duplicates: array[1..MaxN] of Boolean; begin // Ввод количества элементов Write('Введите количество элементов N: '); Readln(N); // Ввод элементов массива А WriteLn('Введите элементы массива A:'); for i := 1 to N do Readln(A[i]); // Инициализация массива для отслеживания дубликатов for i := 1 to N do duplicates[i] := False; // Подсчет дубликатов count := 0; for i := 1 to N - 1 do begin if not duplicates[i] then begin for j := i + 1 to N do begin if (A[i] = A[j]) and not duplicates[j] then begin duplicates[i] := True; duplicates[j] := True; count := count + 1; Break; end; end; end; end; // Вывод результата WriteLn('Количество значений элементов, встречающихся более одного раза: ', count); end.

Обратите внимание, что данные решения предполагают, что ввод элементов массива будет корректным.

0 0

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

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

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

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