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

Дан массив из n целых чисел а1, а2, an. вам нужно проверить, есть ли в этом массиве три числа сумма которых равна нулю.

👇
Ответ:
Xtrail
Xtrail
24.03.2023
Procedure TForm1.Button1Click(Sender: TObject);
var
  i1,i2,i3 : Integer;
  m : array [1..10] of Integer;
  kk : Integer;
begin
  Memo1.Clear;
  for i1 := 1 to 10 do
  begin
    m[i1]:= Random(10)-5;
    Memo1.Lines.Append('m['+inttostr(i1)+'] = '+inttostr(m[i1]));
  end;
  Memo1.Lines.Append('');
  kk := 0;
  for i1 := 1 to 10-2 do
  begin
    for i2 := i1+1 to 10-1 do
    begin
      for i3 := i2+1 to 10 do
      begin
        if ( (m[i1]+m[i2]+m[i3])=0) then
        begin
          inc(kk);
          Memo1.Lines.Append('Индекс = '+inttostr(i1)+'  '+inttostr(i2)+'  '+inttostr(i3)+'      Значение = '+inttostr(m[i1])+'  '+inttostr(m[i2])+'  '+inttostr(m[i3]));
        end;
      end;
    end;
  end;
  Memo1.Lines.Append('');
  if kk>0 then
    Memo1.Lines.Append('Да в этом массиве есть три числа сумма которых равна нулю')
  else
    Memo1.Lines.Append('Нет в этом массиве три числа сумма которых равна нулю');
  Memo1.Lines.Append('Количество комбинаций = '+inttostr(kk));
end;


Дан массив из n целых чисел а1, а2, an. вам нужно проверить, есть ли в этом массиве три числа сумма
4,4(40 оценок)
Открыть все ответы
Ответ:
марина11110
марина11110
24.03.2023

Пошагово:

 

1) Строки

     mas[1]:=14;
     . . .

     mas[10]:=3;

задают значения элементов массива.

Массив имеет вид:

14  10  -8  6  12  4  -16  -7  5  3

 

2) переменная s:=0;

 

3) цикл

for i:=1 to 5 do
mas[2*i]:=0;

все элементы, стоящие на чётных местах, обнуляются.

Массив имеет вид:

14  0  -8  0  12  0  -16  0  5  0

 

4) цикл

for i:=1 to 10 do
if mas[i]>5 then s:=s+mas[i];

просматриваем массив, и если элемент больше 5, добавляем его в сумму s:

добавится сначала 1-й элемент (так как 14>5), сумма станет 0+14=14

а потом 5-й (12>5), сумма станет 14+12 = 26

 

5)write(s);

напечатает 26, то есть значание s

 

Всё!

4,5(87 оценок)
Ответ:
KalipsoMirai
KalipsoMirai
24.03.2023

Program Natasha1925;
uses crt;
const n=50;
var
 a:array[1..n] of integer;
 tri:array[1..n] of integer;
 nom,i: integer;
  begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  nom:=0;
  for i:=1 to n do
  begin
    write('Введите ',i,'-e число ');
    readln(a[i]);
    if a[i] mod 3 = 0 then
      begin
        nom:=nom+1;
        tri[nom]:=i;
      end;
   end;
  if nom = 0 then
      writeln('Элементов, кратных 3, нет!: ')
    else
      begin
        writeln('Номера элементов, кратных 3: ');
        for i:=1 to nom do
          begin
            write(tri[i],' ');
          end;
      end;
   writeln();
end.

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