Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nuno Previato

[Resolvido] programa em pascal

Recommended Posts

Olá tenho um problema de uma corrida, que você digita o numero de carros N, e o numero de voltas M, ai você digita o tempo das voltas para os carros, depois pega os 3 carros com menores tempos e mostra na tela, mas nao consigo pegar o 3 melhores, vou postar até aonde eu fiz, se alguem poder me ajuda agradeço.

 

Program Pzim ;
var
n:integer;
m:integer;
a:integer;
b:integer;
tempo: array [1..100, 1..100] of real;
total: array [1..100] of real;
aux:real;
chegada: array [1..3] of real;

Begin 
  read(n);
  read(m);
  chegada[1]:=100;
  chegada[3]:=100;
  chegada[2]:=100;
  for a:= 1 to n+1 do
  begin  
   total[a]:= 0;
  end; 
  {recebe o tempo das voltas}
  for a := 1 to n do
  begin	
    for b:= 1 to m do
    begin
     read(tempo[a,b]);
     aux :=tempo[a,b];
     total[a] := total[a] + aux;
    end;
  end;



End.

 

Ps: ele guarda o tempo total de todas as voltas no vetor total.

 

 

exemplo de entrada e saida

 

 Entrada                                                Saída 

 3 1                                                   1 
 1                                                     2 
 2                                                     3 
 3 

Entrada                                                Saída 

 5 2                                                   3 
 3 7                                                   5 
 2 5                                                   2 
 1 1 
 15 2 
 2 2 

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei uma resposta mais facil sem usar vetor e matriz,

 

Program Corrida ;
var 
n, m, a, b, p1, p2, p3, paux :integer;
tempo,tempototal, tempo1, tempo2, tempo3, aux, tempoaux :real;
Begin
   tempo1:= 1000000;
   tempo2:= 1000000;
   tempo3:= 1000000;
  read(n,m);
  while (n > 100) or (n < 3) do
  read(n);

  while (m> 100) or (n < 3) do
  read(m);

  for a:= 1 to n do
  begin
   for b:= 1 to m do
   begin
    read(tempo);
    tempototal := tempototal + tempo;
   end;

  end;

  writeln(p1);
  writeln(p2);
  writeln(p3);
End.

Compartilhar este post


Link para o post
Compartilhar em outros sites

n precisa de um vetor de tempo..

você soh precisa de um vetor de carros.

nele você vai somando o tempo das voltas..

depois você ordena e ve quem tem os menores numeros.

 

[]s

 

---

EDIT:

 

ops você posto antes kk.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.