loki
Давненько

Offline
Сообщений: 122
СПАСИБО
-вы поблагодарили: 9
-вас поблагодарили: 2
|
 |
� Ответ #15 : Октябрь 25, 2011, 19:27:05 � |
|
извиняюсь если что-то очень глупое N - минимальный M - максимальный
const k = 10; var a: array[1..n] of integer; N,M,i: integer; begin writeln ('vvod tab a'); for i=1 to n do read (a) i:=1; N:=a[1] while i<k for i to k-1 do begin if a<N then N:=a; i:=i+2 end; begin while i<k i:=2; M:=a[2]; for i to k-1 do if a>M them M:=a; i:=i+2; end; writeln ('M= ',); writeln('N= ',); readln end.
|
|
� Последнее редактирование: Октябрь 25, 2011, 19:42:33 от loki �
|
Записан
|
|
|
|
loki
Давненько

Offline
Сообщений: 122
СПАСИБО
-вы поблагодарили: 9
-вас поблагодарили: 2
|
 |
� Ответ #16 : Октябрь 25, 2011, 19:30:24 � |
|
я не программист и не будущий, я просто участник олимпиады, хотя и информатика один из моих любимых предметов
|
|
|
Записан
|
|
|
|
Ленка Фоменка
Сплошной мозг
 
Offline
Сообщений: 3459
СПАСИБО
-вы поблагодарили: 911
-вас поблагодарили: 689
|
 |
� Ответ #17 : Октябрь 25, 2011, 19:40:25 � |
|
извиняюсь если что-то очень глупое N - минимальный M - максимальный
const k = 10; var a: array[1..n] of integer; N,M,i: integer; begin writeln ('vvod tab a'); for i=1 to n do read (a) i:=1; N:=a[1] while i<k for i to k-1 do begin if a<N then N:=a; i:=i+2 end; begin while i<k i:=2; M:=a[2]; for u to k-1 do if a>M them M:=a; i:=i+2; end; writeln ('M= ',); writeln('N= ',); readln end.
Выделила 2 ошибки, которые сразу бросаются в глаза
|
|
|
Записан
|
Всё временно: Любовь, искусство, планета Земля, Вы, Я... Особенно Я!
|
|
|
loki
Давненько

Offline
Сообщений: 122
СПАСИБО
-вы поблагодарили: 9
-вас поблагодарили: 2
|
 |
� Ответ #18 : Октябрь 25, 2011, 19:43:32 � |
|
Во втором случае i, а так обычный цикл в чем ошибка?
|
|
|
Записан
|
|
|
|
Ленка Фоменка
Сплошной мозг
 
Offline
Сообщений: 3459
СПАСИБО
-вы поблагодарили: 911
-вас поблагодарили: 689
|
 |
� Ответ #19 : Октябрь 25, 2011, 19:44:38 � |
|
Может я и ошибаюсь, но цикл for i to k-1 doподразумевает увеличение на +1 числа i поэтому i:=i+2 не уместно в данном случае И этот вид цикла нам не подходит... Прошу меня поправить, это было давно и неправда 
|
|
|
Записан
|
Всё временно: Любовь, искусство, планета Земля, Вы, Я... Особенно Я!
|
|
|
Ленка Фоменка
Сплошной мозг
 
Offline
Сообщений: 3459
СПАСИБО
-вы поблагодарили: 911
-вас поблагодарили: 689
|
 |
� Ответ #20 : Октябрь 25, 2011, 19:47:01 � |
|
Во втором случае i, а так обычный цикл в чем ошибка?
Синтаксис данного цикла выглядит так: for начальное значение счетчика (i:=1) to конечное значение счетчика (20) do begin Тело цикла end;У тебя начальное значение в цикле параметру i не присвоено 
|
|
|
Записан
|
Всё временно: Любовь, искусство, планета Земля, Вы, Я... Особенно Я!
|
|
|
loki
Давненько

Offline
Сообщений: 122
СПАСИБО
-вы поблагодарили: 9
-вас поблагодарили: 2
|
 |
� Ответ #21 : Октябрь 25, 2011, 19:48:11 � |
|
увеличивая 2+2+2... всегда число парное оно по идее должно идти по парным сначала i:=2 потом i:=i+2
|
|
|
Записан
|
|
|
|
Ленка Фоменка
Сплошной мозг
 
Offline
Сообщений: 3459
СПАСИБО
-вы поблагодарили: 911
-вас поблагодарили: 689
|
 |
� Ответ #22 : Октябрь 25, 2011, 19:49:57 � |
|
Исходя из твоего кода число i будет увеличиваться на 3
|
|
|
Записан
|
Всё временно: Любовь, искусство, планета Земля, Вы, Я... Особенно Я!
|
|
|
loki
Давненько

Offline
Сообщений: 122
СПАСИБО
-вы поблагодарили: 9
-вас поблагодарили: 2
|
 |
� Ответ #23 : Октябрь 25, 2011, 19:52:38 � |
|
но сначала i=1 потом 1+2=3
|
|
|
Записан
|
|
|
|
Ленка Фоменка
Сплошной мозг
 
Offline
Сообщений: 3459
СПАСИБО
-вы поблагодарили: 911
-вас поблагодарили: 689
|
 |
� Ответ #24 : Октябрь 25, 2011, 19:56:08 � |
|
но сначала i=1 потом 1+2=3
Сам по себе цикл for увеличивает на каждем круге значение i на +1... При этом ты еще искусственно на +2 увеличиваешь...Итого на каждом круге +3 получается... Воспользуйся циклом while Очень легко и просто в моем примере показано, как с помощью while найди нужные минимальные и максимальные значения...
|
|
|
Записан
|
Всё временно: Любовь, искусство, планета Земля, Вы, Я... Особенно Я!
|
|
|
loki
Давненько

Offline
Сообщений: 122
СПАСИБО
-вы поблагодарили: 9
-вас поблагодарили: 2
|
 |
� Ответ #25 : Октябрь 25, 2011, 19:58:48 � |
|
repeat, until мы их не проходили информатик заподозрит...
|
|
|
Записан
|
|
|
|
Ленка Фоменка
Сплошной мозг
 
Offline
Сообщений: 3459
СПАСИБО
-вы поблагодарили: 911
-вас поблагодарили: 689
|
 |
� Ответ #26 : Октябрь 25, 2011, 20:01:44 � |
|
Очень легко и просто в моем примере показано, как с помощью while найди нужные минимальные и максимальные значения...
Цикл while вы проходили... У тебя ошибка в нахождении максимального и минимального элементов... Заполнение массива, которое я организовала с помощью repeat, until я сейчас даже не смотрю Ладно, дальше сам компилируй свою програмку, у тебя есть работоспособный пример перед глазами  А я - спать 
|
|
� Последнее редактирование: Октябрь 25, 2011, 20:04:13 от Ленка Фоменка �
|
Записан
|
Всё временно: Любовь, искусство, планета Земля, Вы, Я... Особенно Я!
|
|
|
moonlight
Умник
  
Offline
Сообщений: 741
СПАСИБО
-вы поблагодарили: 19
-вас поблагодарили: 232
|
 |
� Ответ #27 : Октябрь 25, 2011, 22:04:28 � |
|
const N=10; var A:array[1..N]of integer; i:integer; min,max:integer; begin min:=1; max:=2; for i:=1 to N do begin A:=Random(100); Write('A[',i,']=',A,' '); end; Writeln; for i:=3 to N do begin if((i mod 2)=1)and(A<A[min])then min:=i else if((i mod 2)=0)and(A>A[max])then max:=i end; Writeln('min=',min,' A[',min,']=',A[min]); Writeln('max=',max,' A[',max,']=',A[max]); end.
почемуто вместо A [ i ] копируется-вставляется A

|
|
� Последнее редактирование: Октябрь 25, 2011, 22:27:02 от moonlight �
|
Записан
|
Зачем откладывать на завтра то, что можно отложить на послезавтра?
|
|
|
Вилли ☂
Гений-Говорун
Offline
Сообщений: 1572
СПАСИБО
-вы поблагодарили: 532
-вас поблагодарили: 722
☃
|
 |
� Ответ #28 : Октябрь 25, 2011, 22:12:20 � |
|
На случай, если Вы "mod" не изучали: # Если t = 1 - нечетные, t = 2 - четные
const k = 10; var a: array[1..k] of integer; N,M,i,t: integer;
begin writeln ('Ввод значений:'); for i=1 to k do read (a[i]); i:=1; N:=a[1]; N:=a[2]; t=1; for i:=3 to k do begin if (a[i]<N) AND (t=1) then N:=a; if (a[i]>M) AND (t=2) then N:=a; if(t=1) then t:=2 else t:=1; end;
writeln('Max = ',M); writeln('Min = ',N); readln; end
|
|
� Последнее редактирование: Октябрь 25, 2011, 22:35:14 от Трикс �
|
Записан
|
|
|
|
Вилли ☂
Гений-Говорун
Offline
Сообщений: 1572
СПАСИБО
-вы поблагодарили: 532
-вас поблагодарили: 722
☃
|
 |
� Ответ #29 : Октябрь 25, 2011, 22:18:34 � |
|
почемуто вместо A [ i ] копируется-вставляется A
используй [ code ] *** [ / code ]
|
|
|
|
|