вот написал но ошибка есть неправильно выводит пока что на экран цифры должно выводит только те цифры которые меньши и равны этим цифрам 4,4,7 и если в массиве втором цифры 1,2,8 то они не должны выводится
program staciakampis;
type mas = array [1..100,1..100] of integer;
var n,i,c,j,z,k,d,m: integer;
pradDuom,rezult: text;
a:mas;
begin
assign (pradDuom, 'duom.TXT');
assign (rezult, 'rez.TXT');
reset (pradDuom);
rewrite (rezult);
read (pradDuom, n,c);
c:=c+1 ;
for j := 1 to c do
begin
for i := 1 to n do
begin
read (pradDuom,a[j,i] );
end;
end;
for j:=1 to c do
for i:= 1 to n do
for z:=i+1 to n do
if a[j,i]>a[j,z] then
begin
k:=a[j,i];
a[j,i]:=a[j,z];
a[j,z]:=k;
{writeln(a[j,i]:9);
writeln(a[j,z]); }
end;
d:=0;
m:=0;
for j:=2 to c do
for i:=1 to n do
{ ****************** ошибка в if***********}
if a[1,i] >= a[j,i] then
{d:=d+1; }
{writeln(d);}
writeln(a[1,i],'>=',a[j,i]);
{writeln(a[j,i]>=a[j,i]);}
{ end;
end; }
close(pradDuom);
close(rezult);
Readln;
end.
вот так тут три первых цифры это куб а все другие числа кубы и должно так идти в первый куб вместится второй куб или другие в первый куб и их вот можно поворачивать кубы
Паскаль, паралеллепипеды
начальные данные
3 6
7 4 4
1 8 2
5 5 5
3 2 1
7 4 5
1 1 7
6 3 2
ответ 3
3 6
7 4 4
1 8 2
5 5 5
3 2 1
7 4 5
1 1 7
6 3 2
ответ 3
-
- Сообщения: 375
- Зарегистрирован: 31 авг 2007, 03:06
исходные условия задачи приведите, пожалуйста.
условия такие первая цифра это длина страки ну сколько цифр будет второе число это сколько столбцов будет потом первые три цифры это куба цифры остольные цифры это кубы тоже. В первый куб вместится все остальные кубы и их можно по разному переворачивать.
3 6
7 4 4
1 8 2
5 5 5
3 2 1
7 4 5
1 1 7
6 3 2
сперва я их всех записал в двойной массив потом упорядочил по возрастанию так
4 4 7
1 2 8
5 5 5
1 2 3
4 5 7
1 1 7
2 3 6
потом вот сравнивать неполучается так
4>=1
4>=2
7>=8
и если хоть одна цифра больше то этот ненадо писать массив
4>=5
4>=5
7>=5
и этот тоже самое
4>=1
4>=2
7>=8
а вот этот уже надо написать потомучто все правильно
а у меня выводит так
4>=1
4>=2
7>=5
4>=1
4>=2
7>=3
вот неправильно выводит
3 6
7 4 4
1 8 2
5 5 5
3 2 1
7 4 5
1 1 7
6 3 2
сперва я их всех записал в двойной массив потом упорядочил по возрастанию так
4 4 7
1 2 8
5 5 5
1 2 3
4 5 7
1 1 7
2 3 6
потом вот сравнивать неполучается так
4>=1
4>=2
7>=8
и если хоть одна цифра больше то этот ненадо писать массив
4>=5
4>=5
7>=5
и этот тоже самое
4>=1
4>=2
7>=8
а вот этот уже надо написать потомучто все правильно
а у меня выводит так
4>=1
4>=2
7>=5
4>=1
4>=2
7>=3
вот неправильно выводит
Гм... заведите себе переводчика с ваших мыслей на русский язык. Что значит, к примеру "первые три цифры это куба цифры остольные цифры это кубы тоже".
Насколько я понял, задача стоит примерно так: задано несколько паралеллепипедов (раз у них разные стороны, кубами они быть точно не могут), надо вывести те, которые могут вместиться в первый из них и могут быть там развернуты вдоль любой ортогональной оси. Я прав?
В таком случае пусть a,b,c - стороны внешнего паралеллепипеда, ai, bi, ci - стороны внутреннего. В таком случае внешний вмещает внутренний, если min(a,b,c)>=max(ai,bi,ci).
Функции min и max для нахождения минимального и максимального из трех чисел пишутся за минуту или находятся в инете.
Насколько я понял, задача стоит примерно так: задано несколько паралеллепипедов (раз у них разные стороны, кубами они быть точно не могут), надо вывести те, которые могут вместиться в первый из них и могут быть там развернуты вдоль любой ортогональной оси. Я прав?
В таком случае пусть a,b,c - стороны внешнего паралеллепипеда, ai, bi, ci - стороны внутреннего. В таком случае внешний вмещает внутренний, если min(a,b,c)>=max(ai,bi,ci).
Функции min и max для нахождения минимального и максимального из трех чисел пишутся за минуту или находятся в инете.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
[syntax=Delphi]
program staciakampis;
type
mas = array [1..100,1..100] of integer;
var
pradDuom,rezult: text;
n,c,m,d,i,j,k,t,p:integer;
a:mas;
begin
assign(pradDuom, 'c:\duom.TXT');
assign(rezult, 'c:\rez.TXT');
reset(pradDuom);
rewrite(rezult);
read(pradDuom, n,c);
c:=c+1;
for j := 1 to c do begin
read(pradDuom,a[j,1]);
for i := 2 to n do begin
read(pradDuom,t);
for k:=1 to i-1 do begin
if t<a[j,k] then begin
p:=a[j,k]; a[j,k]:=t; t:=p;
end;
end;
a[j,i]:=t;
end;
writeln(a[j,1],a[j,2],a[j,3])
end;
for j:=2 to c do begin
m:=0;
for i:=1 to n do if a[1,i]>=a[j,i] then begin
write(a[1,i],'>=',a[j,i],' ');
inc(m);
end;
writeln(m);
if m=n then inc(d);
end;
writeln(rezult,d);
writeln('Ответ: ',d);
readln;
end.
[/syntax]
program staciakampis;
type
mas = array [1..100,1..100] of integer;
var
pradDuom,rezult: text;
n,c,m,d,i,j,k,t,p:integer;
a:mas;
begin
assign(pradDuom, 'c:\duom.TXT');
assign(rezult, 'c:\rez.TXT');
reset(pradDuom);
rewrite(rezult);
read(pradDuom, n,c);
c:=c+1;
for j := 1 to c do begin
read(pradDuom,a[j,1]);
for i := 2 to n do begin
read(pradDuom,t);
for k:=1 to i-1 do begin
if t<a[j,k] then begin
p:=a[j,k]; a[j,k]:=t; t:=p;
end;
end;
a[j,i]:=t;
end;
writeln(a[j,1],a[j,2],a[j,3])
end;
for j:=2 to c do begin
m:=0;
for i:=1 to n do if a[1,i]>=a[j,i] then begin
write(a[1,i],'>=',a[j,i],' ');
inc(m);
end;
writeln(m);
if m=n then inc(d);
end;
writeln(rezult,d);
writeln('Ответ: ',d);
readln;
end.
[/syntax]