1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Vsem privet! Zada4a takova: Najti v massive element s minimaljnim pozitivnim zna4eniem i jego indeks. Analizirovatj toljko elementi s neparnim indeksom!
u menja 4to-to ne idjot...
program massiv; var i,num : integer; min : real; ms : array[1..6] of real; begin writeln ('Vvedite znachenie elementov: '); for i := 1 to 6 do begin readln(ms[i]); i := i+1; end; min := ms[1]; for i := 2 to 6 do begin if (ms[i] > 0) then begin if (ms[i] < min) then begin min := ms[i]; num := i; end; end; end; writeln(min:2:2); writeln(num); readln; end.
I jesho vapros, kak sdelatj 4tobi koli4estvo elementov v massive vvodilosj s klaviaturi v samom na4ale programmi ??
for i := 1 to 6 do begin readln(ms[i]); i := i+1; end;
нельзя менять счетчик внутри цикла - первя и основная ошибка. Правильно будет так:
for i := 1 to 6 do readln(ms[i]);
2-ое, ты и не намериваешься делать проверку на не четность элемента массива Делается это так:
if (i mod 2)=1 then
3-ое, ты запоминаешь еще перед циклом минимальный элемент, почему не делаешь тоже самое с его индексом? 4-ое, хоть это не ошибка, но все-таки: для чего ты пихаешь повсюду begin..еnd? Они обязательны только, если после требуется выполнить как минимум два оператора, в других случаях их можна опустить.
Вот правильный код:
program massiv; var i,num : integer; min : real; ms : array[1..6] of real; begin writeln ('Vvedite znachenie elementov: '); for i := 1 to 6 do readln(ms[i]); min := ms[1]; num:=1; for i := 2 to 6 do if (i mod 2)=1 then if (ms[i] > 0) then if (ms[i] < min) then begin min := ms[i]; num := i; end; writeln(min:2:2); writeln(num); readln; end.
Можно заменить три if на
if ((i mod 2)=1) and (ms[i] > 0) and (ms[i] < min) then begin {---------} end;
Цитата
I jesho vapros, kak sdelatj 4tobi koli4estvo elementov v massive vvodilosj s klaviaturi v samom na4ale programmi ??
Если динамических массивов ты еще не учил, то так:
program massiv; var i,num,n : integer; min : real; ms : array[1..200] of real; begin writeln('Vvedite koli4estvo elementov v massive<200'); readln(n); writeln ('Vvedite znachenie elementov: '); for i := 1 to n do readln(ms[i]); min := ms[1]; num:=1; for i := 2 to n do if (i mod 2)=1 then if (ms[i] > 0) then if (ms[i] < min) then begin min := ms[i]; num := i; end; writeln(min:2:2); writeln(num); readln; end.
--------------------
Лао-Цзы : Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.