Var n,a,b,i,min:integer; mass:array[1..100000] of integer; begin writeln('Введите кол-во элементов массива'); read(n); writeln('Введите числа'); for i:=1 to n do// задаем массив пока i не станет равно n (i:=i+1 ) read(mass[i]);//считываем массив с индексом i min:=mass[1];// обозначаем первый элемент массива за первый b:=1;// индекс от первого элемента массива for i:=1 to n do//цикл задаем массив пока i не станет равно n (i:=i+1 ) if mass[i]<min then begin//при условии что массив будет меньше первого числа то b:=i;// обозначаем индекс min:=mass[i];// обозначаем новый минимальный массив end; for i:=1 to b-1 do// задаем массив пока i не станет равно b-1 (i:=i+1 ); и еще b-1 значит чтобы само число b не входило в цикл mass[i]:=mass[i]*mass[b];// домножаем на меньший массив writeln('Полученный массив');// вывод массива for i:=1 to n do write(mass[i]:6); end.
Т.к. я не знаю Паскаля могу подсказать только алгоритм. Тебе нужно сделать 2 переменные: summ(для сохранения суммы) и line(для сохранения номера строки массива, которую ты проверяешь).
Ты должен проверять каждую строчку считывая сумму всех элементов это строки, а так же ты должен сохранять номер строки, которую ты проверяешь. И сохраняешь сумму в переменной summ. Потом ты проверяешь данные переменной summ, если меньше нуля начинаешь проверять следующую строку, если больше тогда переносишь все данные со строки номер line в массив. И начинаешь проверять следующую строку.
Важно: При каждой новой проверке строки обнуляй переменную summ и увеличивай на один переменную line.
1) 1391
2) 150
Объяснение:
1) 1011110(2)+110(2)* 11010110(2)+010001(2)=94(10)+1284(10)+17(10)=1391(10)
2) 1100011(2)-11001(2)+10101111(2)-101010(2)=42-25+175-42=150(10)