Ir ao conteúdo

Posts recomendados

Postado

tentei criar uma matriz, porém ao executar ela nao fica coma tal (linhas e colunas), os numeros ficam tudo um embaixo do outro 

program Matrizes; //Matrizes= vetores com mais d uma dimensão
                             //1° dimensão = linhas da matriz
                           //2° dimensão= colunas da matriz
uses crt;

var vetornum:array [0..3, 0..4] of integer; //minha matriz vai ter a dimensão de 4X4
    I:Integer;
    O:Integer;


begin

     Randomize;

     for I := 0 to 3 do
      Begin
       for O := 0 to 4 do
        begin
         vetornum[I,O] := random(1000);
        end;
      end;
      
     for I:=0 to 3 do
      Begin
       for O := 0 to 4 do
        begin
         write(vetornum[I,O],' * ');
         writeln(' ');
        end;  
      end;


  readln;
end.

 

  • Obrigado 1
Postado

@Sadson    para imprimir linhas e colunas é assim mesmo , mas você colocou esse :

writeln(' ');

uma linha antes , então seria assim  :

program Matrizes; //Matrizes= vetores com mais d uma dimensão
                  //1° dimensão = linhas da matriz
                  //2° dimensão= colunas da matriz
uses crt;
var vetornum:array [0..3, 0..4] of integer; //minha matriz vai ter a dimensão de 4X4
    I:Integer;
    O:Integer;
 
begin
     Randomize;
     for I := 0 to 3 do
      Begin
       for O := 0 to 4 do
        begin
         vetornum[I,O] := random(1000);
        end;
      end;
      
     for I:=0 to 3 do
      Begin
       for O := 0 to 4 do
        begin
         if vetornum[I,O]< 10   then write('   ',vetornum[I,O],' * ')  
	     else      
         if vetornum[I,O]< 100  then write('  ' ,vetornum[I,O],' * ')        
         else
         if vetornum[I,O]< 1000 then write(' '  ,vetornum[I,O],' * ')
         else
         if vetornum[I,O]<=1000 then write(      vetornum[I,O],' * ')         
        end;  
        writeln(' ');        
      end;
  readln;
end.

 

  • Obrigado 1
  • Membro VIP
Postado

Olá.

 

1#

Em 01/03/2019 às 15:07, Sadson disse:

     for I:=0 to 3 do
      Begin
       for O := 0 to 4 do
        begin
         write(vetornum[I,O],' * ');
         writeln(' ');
        end;  
      end;

 

@Sadson, você apenas colocou para "quebrar a linha" no lugar errado. Bastaria fazer assim:

for I:=0 to 3 do
  begin
  for O := 0 to 4 do
    begin
    write(vetornum[I,O],' * ');
    end;
  writeln(' ');
  end;

 

 

 

2#

@devair1010, o último if nunca vai verificado, pois o vetor só terá números de 0 a 999.

 

Em 01/03/2019 às 20:33, devair1010 disse:

if vetornum[I,O]<=1000 then write(      vetornum[I,O],' * ')

 

 

 

3#

Uma outra forma de fazer esse alinhamento seria usando "uma formatação" para a número. Ex.:

program Matrizes; //Matrizes = vetores com mais d uma dimensão
                  //1° dimensão = linhas da matriz
                  //2° dimensão = colunas da matriz
uses
  CRT;
var
  vetorNum:array [0..3, 0..4] of integer; //minha matriz vai ter a dimensão de 4X4
  I, O:integer;
begin
Randomize;
for I := 0 to 3 do
  for O := 0 to 4 do
    vetorNum[I,O] := Random(1000);
for I:=0 to 3 do //para cada linha
  begin
  for O:=0 to 4 do //para cada coluna
    write(vetornum[I,O]:3,' * '); //esse :3 vai reservar 3 espaços para o número. Alinhando a direita.
  writeln(' ');
  end;
ReadKey;
end.

 

 

 

  • Obrigado 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...