01.03.2012, 19:36 | #1 (permalink) |
Banned
Регистрация: 16.11.2011
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Двумерные массивы
2.Дан двумерный массив. Вставьте первую строку между средними строками. 3.Для каждого из пяти автобусных маршрутов известно количество проданных билетов на каждый из семи рейсов. В каждом автобусе K мест. Какие из рейсов на каждом маршруте надо исключить из расписания, чтобы маршруты стали рентабельными. (Маршрут является рентабельным, если общее число проданных на него билетов превосходит 75% от общего числа мест во всех автобусах маршрута). |
01.03.2012, 19:36 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Данные темы содержат похожую информацию Двумерные массивы и процедуры PASCAL Двумерные массивы через процедуру Двумерные массивы, Fortran |
01.03.2012, 19:57 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Подождите чуток, экстрасенсы в сентябре обещали заглянуть, тогда и узнаем насчет языка программирования. Ничего, полгода быстро пролетят.
|
02.03.2012, 10:34 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну тогда-то что... Пожалуйста:
Код:
Var M:Array[1..9,1..12] of Integer; i,j,j_pos:Byte; Begin Randomize; Writeln('Initial array:'); For i:=1 to 9 do begin For j:=1 to 12 do begin M[i,j]:=50-Random(100); write(M[i,j]:4); end; writeln; end; writeln; writeln('Numbers of last positive elements:'); For i:=1 to 9 do begin write(i,' line: '); j_pos:=0; For j:=1 to 12 do if M[i,j]>0 then j_pos:=j; If j_pos=0 then writeln('no') else writeln(j_pos:2); end; readln End. Код:
Type Vector=Array[1..12] of Byte; Var M:Array[1..7] of Vector; D:Vector; i,j:Byte; Begin Randomize; Writeln('Initial array:'); For i:=1 to 7 do begin For j:=1 to 12 do begin M[i][j]:=Random(100); write(M[i][j]:4); end; writeln; end; writeln; D:=M[1]; For i:=2 to 4 do M[i-1]:=M[i]; M[4]:=D; Writeln('Changed array:'); For i:=1 to 7 do begin For j:=1 to 12 do write(M[i][j]:4); writeln; end; readln End. Код:
Type Run=Array[1..7] of Byte; Const K=40; Var Tickets:Array[1..5] of Run; Tick,Num_of_Run:Run; i,j,d:Byte; Sum_expect,Sum,m:Word; Begin Randomize; Writeln('Tickets sold:'); For i:=1 to 5 do begin For j:=1 to 7 do begin Tickets[i][j]:=Random(K+1); write(Tickets[i][j]:4); end; writeln; end; writeln; Writeln('Runs to be excluded:'); For i:=1 to 5 do Begin For j:=1 to 7 do Num_of_Run[j]:=j; write('Rout N',i,': '); for m:=1 to 7 do for j:=1 to 7-m do if Tickets[i][j]>Tickets[i][j+1] then begin d:=Tickets[i][j+1]; Tickets[i][j+1]:=Tickets[i][j]; Tickets[i][j]:=d; d:=Num_of_Run[j+1]; Num_of_Run[j+1]:=Num_of_Run[j]; Num_of_Run[j]:=d; end; m:=0; Repeat Sum:=0; Inc(m); Sum_expect:=(7-m+1)*K; for j:=m to 7 do Inc(Sum,Tickets[i,j]); If Sum/Sum_expect<=0.75 then if m=1 then write(Num_of_Run[m]) else write(', ',Num_of_Run[m]); Until (Sum/Sum_expect>0.75) or (m=7); Writeln; End; Readln End. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|