23.06.2015, 12:53 | #1 (permalink) |
Member
Регистрация: 17.11.2014
Сообщений: 189
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 512
|
Два массива
есть 2 массива: a[1,1,1,1,1,1,1,1,1,1] b[1,2,3,4] надо "протянуть" массив b[4] через a[10], чтоб получилось: 0. a[1,1,1,1,1,1,1,1,1,1] 1. а[4,1,1,1,1,1,1,1,1,1] 2. a[3,4,1,1,1,1,1,1,1,1] 3. a[2,3,4,1,1,1,1,1,1,1] 4. a[1,2,3,4,1,1,1,1,1,1] 5. a[1,1,2,3,4,1,1,1,1,1] 6. a[1,1,1,2,3,4,1,1,1,1] 7. a[1,1,1,1,2,3,4,1,1,1] 8. a[1,1,1,1,1,2,3,4,1,1] 9. a[1,1,1,1,1,1,2,3,4,1] 10.a[1,1,1,1,1,1,1,2,3,4] 11.a[1,1,1,1,1,1,1,1,2,3] 12.a[1,1,1,1,1,1,1,1,1,2] 13.a[1,1,1,1,1,1,1,1,1,1] каждый из шагов (0-13) надо вывести. мне не надо код писать, просто на мысль натолкните.. p.s. то что это будет несколько циклов (for) я знаю (оч хочется верить, что это так), я не понимаю как сделать, чтоб не вылазить за пределы а[10] в начале и в конце.. p.p.s. язык всё равно какой, мне б суть понять... спасибо |
23.06.2015, 12:53 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Я думаю, что хорошо было бы поискать решение вопроса в схожих темах Формирование массива Сортировка массива Сжатие массива Даны два массива по 15 элементов Количество элементов массива С++ Количество элементов массива |
23.06.2015, 13:01 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Забавная задачка.
Ладно, сейчас на обед удаляюсь, а вернусь - покручу. Если не отвлекут на какую-нибудь ерунду: я на работе. |
23.06.2015, 14:39 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну вот, в порядке наведения на мысль:
Код:
Const a:Array[1..10] of Byte=(1,1,1,1,1,1,1,1,1,1); b:Array[1..4] of Byte=(1,2,3,4); Var c:Array[0..13,1..10] of Byte; i,j:Integer; Begin for i:=0 to 13 do for j:=1 to 10 do c[i,j]:=a[j]; for i:=0 to 13 do for j:=i-3 to i do if (j>0) and (j<11) then c[i,j]:=b[4-i+j]; for i:=0 to 13 do begin write(i:3,' '); for j:=1 to 10 do write(c[i,j]:3); writeln; end; readln End. |
23.06.2015, 15:25 | #5 (permalink) |
Member
Регистрация: 17.11.2014
Сообщений: 189
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 512
|
ого! огромнейше благодарю, о еще одном массиве я не подумал, а условие (if) мне пока вообще мозг взорвало спасибо, буду разбираться
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
23.06.2015, 17:15 | #8 (permalink) |
Member
Регистрация: 17.11.2014
Сообщений: 189
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 512
|
for n:=1 to 10 do a[n]:=1;
for i:=0 to 13 do begin for j:=i-3 to i do begin if (j>0) and (j<11) then a[i]:=b[4-i+j]; end; for n:=1 to 10 do begin write(' ', a[n]); end; readln; for n:=1 to 10 do a[n]:=1; end; ..я, наверн, совсем не понял, да? |
24.06.2015, 00:33 | #9 (permalink) |
Member
Регистрация: 17.11.2014
Сообщений: 189
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 512
|
вот я лолка..
вот так: Код:
for i:=0 to 13 do begin for n:=1 to 10 do write (a[n],' '); writeln; for n:=1 to 10 do a[n]:=1; for j:=i-3 to i do if (j>0) and (j<11) then a[j]:=b[4-i+j]; end; |
24.06.2015, 01:05 | #10 (permalink) |
Member
Регистрация: 17.11.2014
Сообщений: 189
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 512
|
теперь не коряво
Код:
for i:=0 to 13 do begin for n:=1 to 10 do a[n]:=1; for j:=i-3 to i do if (j>0) and (j<11) then a[j]:=b[4-i+j]; for n:=1 to 10 do write (a[n],' '); writeln; end; |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|