Информа́тика наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации , обеспечивающих возможность её использования для принятия решений
paninsv
10.03.2023
Var i,x,k,s: integer; function sum(x: integer): integer; var t: string; i: integer; begin s: =0; t: =inttostr(x); for i: =1 to length(t) do s: =s+strtoint(t[i]); result: =s end; function kol(x: integer): integer; var t: string; begin t: =inttostr(x); result: =length(t) end; begin for i: =1 to 5 do begin write('введите число ',i,': '); readln(x); k: =kol(x); s: =sum(x); writeln('количество цифр ',k,'; сумма цифр ',s) end end.
anastasiya613
10.03.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;