Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Прошу помогите решить на Pascal

BUBLIK34 Ученик (241), закрыт 3 года назад
Лучший ответ
Noname Гений (69513) 4 года назад
var a:array [1..100] of integer;
i, k, n:integer;
begin
readln(n);
for i:=1 to n do read(a[i]);
k := 0;
for i:=1 to n do begin
if (a[i]<0) then k:=k+1;
if (k = 2) then begin
write(a[i]);
writeln(i);
halt;
end;
end;
write('такого нет');
end.
JCDentonГуру (3653) 4 года назад
пеоед halt еще writeln(i);
Noname Гений (69513) да, точно
Вадим ЛеоновУченик (128) 4 года назад
Там немного не так, должен появляться набор цифр по такой форме:
n= 10
29 -43 64 -81 -78 82 33 -52 85 22
A[4]= -81
Остальные ответы
Мозг весом 2 килограмма - тебе он зачем? Мастер (1099) 4 года назад
Зачем оно тебе? Не решай. Если такое решить не может, значит не стоит заниматься вообще.
Варвара ЯрмоленкоЗнаток (269) 4 года назад
Может ему для школы.
Давид Касумов Ученик (106) 4 года назад
Если не можешь решить такую задачу, то ты и код не поймёшь . Могу на словах тебе объяснить, а ты попробуй состряпать так, как умеешь . Создай переменную, куда поместишь этот массив, и создай вторую переменную, тоже массив, но уже пустой . Циклом for перебирай этот первый массив и if’ом проверяй, отрицательное число или нет, если да, то помести эту цифру во второй массив . На выходе из цикла у тебя будет второй массив со всеми отрицательными числами из первого массива, и вот из второго массива вытяни второе число .
samuraiГуру (2646) 4 года назад
какой нахрен второй массив, ты с башкой дружишь? обычный счётчик отрицательных элементов делаешь и когда он достигнет двойки присваиваешь ему значение этого элемента массива. дальше счётчик не пойдёт, если через <2 сделать
BUBLIK34Ученик (241) 4 года назад
Код я пойму, я не могу понять само задание и последовательность
аркадий макаров Мудрец (17326) 4 года назад
А на каком паскале работаете ?
BUBLIK34Ученик (241) 4 года назад
3.6 сборка 2341
аркадий макаров Мудрец (17326) BUBLIK34, Паскаль АВС что ли ?
Шахзод Ахрорходжаев Ученик (199) 4 года назад
begin
var n, val: integer;
readln(n);
var arr := new integer[n];
for var i := 0 to n - 1 do read(arr[i]);
for var i := 0 to n - 1 do
begin
if(arr[i] < 0) then val += 1;
if(val = 2) then begin
writeln('Число: ' + arr[i], ', его номер: ' + (i + 1));
exit;
end;
end;
end.

(PascalABC.NET 3.6.2)

Принцип работы прост. Читаем переменную, которая будет являться размером массива, и создаем на её основе сам массив. Потом считываем массив, после чего начинаем проверять его элементы. Если найдется элемент меньше нуля, то увеличиваем созданный нами ранее счетчик на единицу (val). После второго увеличения выводим само число, и его индекс+1, так как у массивов первый элемент имеет индекс 0.
Похожие вопросы