29.05.2014, 18:38 | #1 (permalink) |
Banned
Регистрация: 29.05.2014
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Массивы
Дан массив A(N), N - четное. Сформировать массив B(N), элементами которого являются большие из двух рядом стоящих в массиве A чисел. Например, массив А состоит из элементов 1 3 5 -2 0 4, тогда массив В: 3 5 4. CONST N=5; VAR A:ARRAY[1..2*N] of REAL; B:ARRAY[1..N] of REAL; i:INTEGER; BEGIN For i:=1 to 2*N do begin Write('A[',i:2,']= '); ReadLn(A[i]); end; WriteLn; For i:=1 to N do B[i]:=(A[2*i-1]+A[2*i])/2; For i:=1 to 2*N do Write(A[i]:6:2); WriteLn; Write(B[1]:9:2); For i:=2 to N do Write(B[i]:12:2); WriteLn; ReadLn; END. |
29.05.2014, 18:38 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Рекомендую вам ознакомиться с ответами в этих топиках Массивы Массивы Массивы С++ Массивы Массивы в Си Массивы |
29.05.2014, 22:25 | #2 (permalink) |
Member
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
|
Может я не прав, но, по-моему, правильнее будет так:
const n=10; type mass= array[1..n] of Real; function Big(aA: mass;ai: byte): Real; var m: Real; begin if aA[ai]>aA[ai-1] then m:= aA[ai] else m:= aA[ai-1]; Big:= m; end; var A,B: mass; j,i: byte; t: Real; begin Randomize; for i:=1 to n do begin A[i]:= Random(100)/10; Write(A[i]:4:1); end; Writeln; Writeln; j:=1; for i:=2 to n do begin t:= Big(A,i); B[j]:= t; Inc(j) end; for j:=1 to (n-1) do Write(B[j]:4:1); Readln; end. Ввод сделал случайными числами, но можно переделать на ручной. |
30.05.2014, 09:55 | #5 (permalink) |
Member
Регистрация: 05.03.2014
Сообщений: 200
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
|
ах пары. вот зачем N четное. спасибо, сразу не допер =).
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
30.05.2014, 22:45 | #8 (permalink) |
Member
Регистрация: 31.03.2010
Адрес: Тульская область
Сообщений: 1,309
Сказал(а) спасибо: 11
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 13090
|
Попарно так попарно:
const n=5; type mass= array[1..2*n] of Real; function Big(aA: mass;ai: byte): Real; var m: Real; begin if aA[ai]>aA[ai-1] then m:= aA[ai] else m:= aA[ai-1]; Big:= m; end; var A,B: mass; j,i: byte; t: Real; begin for i:=1 to 2*n do begin Write('A[',i,':1]='); Readln(A[i]); end; Writeln; for i:=1 to 2*n do Write(A[i]:5:1); Writeln; Writeln; i:=2;j:=1; repeat t:= Big(A,i); B[j]:= t; Inc(i,2); Inc(j) until i>2*n; for i:=1 to (j-1) do Write(B[i]:5:1); Readln; end. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|