Program vagoni;
10-11 класс
|
var
A:array[1..15] of real;
B:array[1..15] of real;
C:array[1..15] of real;
i,m,q,j,d,N:integer;
s,max_num, max_index:real;
begin
N:=15;
m:=10;
q:=50;
writeln('Vvedite massy vagonov sostava M sostoyashego iz 15 vagonov');
s:=0;
Begin
for i:=1 to N do
Begin
write('vagon_',i,'-> ');
readln(a[i]);
end;
end;
writeln(' ');
writeln('VSE vagoni:');
for i:=1 to N do
writeln('vagon_',i,'=',a[i],'tonn');
writeln(' ');
writeln(' ');
writeln('Porojnie vagoni:');
for i:=1 to N do
begin
if (A[i] <= m) then
writeln('porojniy vagon=', i);
end;
writeln('');
writeln('grujenie vagoni:');
for i:=1 to N do
begin
if (A[i] > m) then s:=s+a[i];
if (A[i] > m) then
writeln('grujeniy vagon=', i);
end;
Writeln('Summa mass grujenih vagonov:', s);
if s>q then
writeln('previshenie massy! sostav ne mojet bit sformirovan') else
begin
writeln;
writeln('Noviy sostav:');
j:=1;
d:=1;
for i:=1 to N{-1} do
if A[i] > m then
begin
B[j]:=A[i];
writeln('vagon_',j,'=',B[j],'tonn');
j:=j+1;
end else
begin
C[d]:=A[i];
d:=d+1;
end;
end;
Begin
writeln(' ');
writeln('Ostatok:');
d:=d-1;
WHILE d>0 do
begin
writeln('vagon_',d,'=',C[d],'tonn');
d:=d-1;
end;
end;
writeln(' ');
begin
max_index := 1;
max_num := B[1];
for i := 2 to j do
if B[i] > max_num then begin
max_index := i;
max_num := B[i];
end;
writeln('Maksimalnaya massa vagona sostava B=',max_num,' tonn', ' Ego nomer:',max_index);
end;
end.
Вот программа нужно чтоб формировался состав б в любом случае но не превышал 50 тонн, а остальные груженые вагоны вывести в остаток, и среди вагонов состава б найти вагон с максимальной массой
var
A, B, C: array[1..15] of real;
i, m, max_weight, b_n, c_n, N, max: integer;
s: real;
begin
N := 15;
m := 10;
max_weight := 50;
writeln('ВВедите массы состава ', m, ' состоящего из ', n, ' вагонов');
for i := 1 to n do
begin
write('Масса вагона № ', i, ' = ');
readln(a[i]);
end;
writeln();
writeln('Все вагоны:');
for i := 1 to n do
writeln('Вагон №', i, ' = ', a[i], ' тон');
writeln();
writeln('Порожние вагоны:');
for i := 1 to n do
if (A[i] <= m) then
writeln('Вагон №', i);
writeln();
s := 0;
writeln('Груженные вагоны:');
for i := 1 to n do
if (A[i] > m) then begin
s := s + a[i];
writeln('Вагон №', i);
end;
Writeln('Сумма масс груженных вагонов = ', s);
{// if s > max_weight then begin
// writeln('Превышение массы! Состав не будет сформирован');
// exit;
// end;}
writeln;
writeln('Новый состав:');
s := 0;
for i := 1 to n do
if (A[i] > m) and (s + A[i] <= max_weight) then begin
b_n := b_n + 1;
s := s + A[i];
B[b_n] := A[i];
writeln('Вагон №', b_n, ' = ', B[b_n], ' тон');
end
else begin
c_n := c_n + 1;
C[c_n] := A[i];
end;
writeln();
writeln('Остаток:');
for i := 1 to c_n do
writeln('Вагон №', i, ' = ', C[i], ' тон');
writeln();
max := 1;
for i := 1 to b_n do
if B[i] > B[max] then
max := i;
writeln('Максимальная масса в составе: Вагон №', max, ' = ', B[max], ' тон');
end.
Другие вопросы из категории
1) Занятие начнётся в 17 часов в кабинете А
2)Занятие начнётся в 15 часов в кабинете К
3) Занятие начнётся в 16 часов , не в кабинете А
Саша знал, что будет проводится только одно занятие и понял, что каждый друг ошибается в одном из своих высказываний(о времени начала или о кабинете).
Выясните, когда и в каком кабинете будет проходить занятие
ДАНЫ ДЛИНЫ ЧЕТЫРЕХ РАЗЛИЧНЫХ КАБЕЛЕЙ. НАЙТИ САМЫЙ КОРОТКИЙ ИЗ НИХ.
Читайте также
противном случае все отрицательные элементы матрицы возвести в квадрат.
У меня получилось вот что:
program s455;
uses crt;
const
m=10;
n=12;
Var
A: array[1..m,1..n] of integer;
i, j, k, s: integer;
Begin
writeln('Enter size');
readln;
s:=0;
for j:=1 to m do
begin
k:=0;
for i:=1 to n do
end;
begin
if a<0 then begin
k:=1;
end;
if k=1 then s:=s+1;
end;
begin;
if k<0
then a[i, j]:=a[i, j*2-1]*10;
else a[i, j]:=a[i, j]*c [i, j]
end;
writeln
Не могу понять в чем ошибка
c:array [1..5] of ocenki;
begin k:=0;
For i:=1 to 5 do
With c[i] do
begin
write('vvedite name'); readln(name);
write('vvedine marks');
for i:=1 to 5 do read(marks[i]);
a:=i;
if c[a].marks < 2 (вот здесь выдает что операнды имеют неприводимые типы) then k:=k+1; writeln(k);
end;
end.
(Подскажите пожалуйста где допустила ошибку)
read(x); if a=180 then writeln('razvernutyi') else writeln ('ne razvernutyi'); end.
отрицательные и равные нулю. Используя оператор цикла, составить программу, вычислить количество положительных и нулевых и сумму отрицательных.
Листинг программы:
Program Massiv;
Const n=10;
Var A:array [1..4] of integer;
I, c, c2, c3: integer;
Begin
For i=1 to N do begin
Readln (a[i]); If (a[i]=0 then inc(c)
Else if ([ai]<0) then inc(c2)
Else inc (c3);
End;
Writeln (`нулевые:`,c);
Writeln (`отрицательные:`,c2);
Writeln (`положительные:`,c3);
End.