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

Опишите на языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них). тремя когда запоминается первый элемент, i бежит по второму элементу, не запоминая сумму элементов, а только номер.

👇
Ответ:
9Kira9
9Kira9
08.02.2023
Для этого нужно в цикле пробежаться по элементам mass[i] и элементам mass[30 - i], тоесть чтобы не запоминать суму элементов достаточно её сравнить с сумой каких либо других пар (в нашом случае начало масива мы сравниваем с концом).
Далее создадим переменную, по каторой мы будем определять индекс элемента сума которого из соседним элементом являлась самой большой. Просто для проверки запускается 2 цикла в которых будет индекс инкрементироваться, Не важно в конце или в начале этот элемент. В цикле где есть этот элемент делаем проверку, найшли ли мы нужный элемент, если да, то записуем значение индекса в переменную, далее записуем проверку, на равенство индекса и переменной, что не даст нам изменить значение нужного индекса до тех пор, пока мы не найдем нужный, а индекс декрементируем, он все равно будет не изменен, по скольку в начале цыкла мы его увеличиваем на 1. Примерно все! 
C++
.
.
.
int main { 
int mass[30];
int i,counter,
j;
for(i = 0,i<30;i++)
{cout<<"Your mass: "<<mass[i] = rand%100<<endl; // делаем заполнение масива случайными числами от 0 до 100 
 }
//делаем собственно проверку

for(i=0;i<30;i++)
{
         for(j=0;j<30;j++)
        {
        if (mass[i]+mass[i+1]<mass[30-j]+mass[30-j-1]){
          counter=j;
             j--;
          }
             else {counter = i;
               i--;
         }
}
cout<<"Your max element : "<<mass[counter];
}
getch();
return 0;
4,8(95 оценок)
Открыть все ответы
Ответ:
ktuj240
ktuj240
08.02.2023
Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение:
1)Cначала заполняем массив случайными числами от 2 до 5 (включительно)
2)Потом выводим его (Для проверки)
3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:

program N_0547847;
var
    b, c, d, f, i:integer;
    a: array [1..20] of integer;
begin;
randomize;
b:=0; c:=0; d:=0; f:=0;
for i:=1 to 20 do begin
  a[i]:=random(4)+2; 
  write(a[i],' '); end; 
writeln;
for i:=1 to 20 do begin
    if a[i]=2 then  b:=b+1;
    if a[i]=3 then  c:=c+1;
    if a[i]=4 then  d:=d+1;
    if a[i]=5 then   f:=f+1;
end;
writeln('Двоек: ', b); 
writeln('Троек: ', c); 
writeln('Четверок: ',d);
writeln('Пятерок: ',f);
end.   
4,5(26 оценок)
Ответ:
12VikaSmirnova34
12VikaSmirnova34
08.02.2023

import java.util.Scanner;

public class Authenticator {

public static void main(String[] args) {

 String login;

 String password;

 Scanner scan = new Scanner(System.in);

 

 System.out.println("login:");

 login = scan.next();

 System.out.println("password:");

 password = scan.next();

 

 if(login.equals("user") && password.equals("qwerty")){

  System.out.println("Authentication completed");

 }else{

  System.out.println("Invalid login or password");

 }

 

 scan.close();

 

}

}

Объяснение:

Краткий алгоритм этой программы:Импортируем класс Scanner(для ввода текста);В методе main создаем две переменные типа String и одну типа Scanner;Вводим значения при а;Если логин и пароль верны,то выводим Authentication completed. Иначе выводим Invalid login or password;Закрываем Scanner;
4,7(30 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ