М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
oliaputliar
oliaputliar
23.01.2023 20:02 •  Информатика

Дан массив a из 100 элементов. если сумма элементов чѐтная, заменить все положительные чѐтные элементы – нулями, иначе – переставить местами первый и последний элемент.

👇
Ответ:
KristinaZenchenko
KristinaZenchenko
23.01.2023

Program bkmyehf;
const n=100;
var a:array[1..n] of integer;
temp,sum, i,j: integer;
  begin
  sum:=0;
  randomize;
  writeln('*** alphaues is thinking... ***');
  for i:=1 to n do
    begin  
      a[i]:=random(100)+1;
      sum:=sum+a[i];
    end;
  if sum mod 2 = 0 then
    begin
      writeln('Сумма элементов чётная');
      for i:=2 to n do
        begin  
          if (a[i]>0) AND (i mod 2 = 0) then a[i]:=0;
        end;
    end
    else
    begin
      writeln('Сумма элементов нечётная');
      temp:=a[1];
      a[1]:=a[i];
      a[i]:=a[1];
    end;
  for i:=0 to 9 do
    begin
      for j:=1 to 10 do
        write(a[i*10+j]:4);
      writeln();
    end;
end.

4,5(65 оценок)
Открыть все ответы
Ответ:
vashchilkophoto
vashchilkophoto
23.01.2023
Судя, по ключевым словам надо написать программу на языке Pascal с использованием цикла с потусловием. Алгоритм может быть такой:
1. Создадим массив для хранения информации о количестве встретившихся цифр во введенном числе.
2. Ввод самого числа, далее в цикле находим остаток от деления на 10 и увеличиваем значение элемента массива с индексом равным получившемуся остатку на 1. Делим число нацело на десять. Повторяем пока число не равно 0.
3. Выводим результат. В массиве индекс элемента указывает на цифру числа, а значение элемента на количество этой цифры в числе. 

//РасаlABC.net v3.1

var a:array[0..9]of integer;

n,i,m: integer;

begin

  readln(n);

  repeat

    m:=n mod 10;

    inc(a[m]);

    n:=n div 10;

  until n<=0;

  for i := 0 to 9 do begin

    if a[i]>1 then writeln('Цифра:',i,' количество:', a[i]);

  end;

end.

Тестовый прогон:

1112333

Цифра:1 количество:3

Цифра:3 количество:3

4,8(33 оценок)
Ответ:
sasha2005k1
sasha2005k1
23.01.2023
Var
   C:array[0..9] of byte;
   A:longint;
   i:byte;
Begin
For i:= 0 to 9 do
    C[i]:=0;
Repeat
Write('Введите натуральное число: ');ReadLn(A);
Until A>0;
i:=Trunc(Ln(A)/Ln(10));
if frac(Ln(A)/Ln(10)) > 0 then i:=i+1;
For i:= 1 to i do
    Begin
    C[A mod 10]:=C[A mod 10] +1;
    A:=A div 10
    End;
For i:= 0 to 9 do
    if C[i]>1 then A:=1;
if A = 1 then
   Begin
   Write('Повторяются: ');
   For i:= 0 to 9 do
       if C[i] > 1 then
          Write(i,' ')
   End
End.

Пример работы программы:

Введите натуральное число: 131350788
Повторяются: 1 3 8
4,6(13 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ