Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156

    [PASCAL] disegnare matrice sotto forma di tabella

    mi è capitato più volte di dover stampare una matrice con tot righe e tot colonne tipo così:
    codice:
    1   2   4    5
    2   4   7    5
    quindi con 2 righe e tre colonne


    ma con la procedura
    codice:
    var i, j :integer;
    matr:array[1..2,1..4] of integer;
    
    begin
    for i:=1 to 2 do
       for j:=1 to 4 do
       writeln(matr[i,j])
    i risultati li stampa tutti uniti:
    1
    2
    4
    5
    2
    4
    7
    5

    io invece li voglio come sopra detto

    devo fare
    codice:
    for j:=1 to 4 do
     write(vet[1,j]);
    for j:=1 to 4 do
     write(vet[2,j]);
     etc...
    o c'è un modo più diretto?

  2. #2
    Basta che utilizzi la funzione write() anzichè writeln(), poichè writeln() serve appunto per stampare una stringa e mandare a capo il cursore. Il tuo codice diventa quindi:

    codice:
    var i, j :integer; 
    matr:array[1..2,1..4] of integer; 
    
    begin 
       for i:=1 to 2 do   
          begin
             for j:=1 to 4 do 
                write(matr[i,j]);
             writeln();
          end
    ***Ciao***

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156
    [NO]provato, ma ora me li stampa tutti sulla stessa riga, non è che cambi molto, non va a capo appena finisce lo spazio della riga
    [/NO]
    ok risolto grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    1
    [NO]provato, ma ora me li stampa tutti sulla stessa riga, non è che cambi molto, non va a capo appena finisce lo spazio della riga [/NO] ok risolto grazie
    Scusa puoi dirci come hai risolto?

    io ho fatto così:

    Codice PHP:
    procedure stampa_mat(var m:mat);
    var 
    i,j:integer;
    begin
    clrscr
    ;
    writeln('La matrice contiene i seguenti numeri:');
    writeln;
    for 
    i:=1 to 4 do begin
                     writeln
    ;
                     
    writeln;
                     for 
    j:=1 to 4 do begin
                                      write
    (m[i,j]);
                                      
    write(' ');
                                      
    end;
                     
    end;
    readln;
    end
    ma c'é un piccolo problema: non stampa gli elementi incolonnati. Come posso incolonnarli? ecco un'immagine che descrive il mio "problema":


  5. #5
    non so se funziona come in c, ma se si potresti provare il carattere "\t" che indica la tabulazione
    all that you need:
    http://www.cplusplus.com/reference/clibrary/

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156
    Originariamente inviato da gninga5
    Scusa puoi dirci come hai risolto?

    io ho fatto così:

    Codice PHP:
    procedure stampa_mat(var m:mat);
    var 
    i,j:integer;
    begin
    clrscr
    ;
    writeln('La matrice contiene i seguenti numeri:');
    writeln;
    for 
    i:=1 to 4 do begin
                     writeln
    ;
                     
    writeln;
                     for 
    j:=1 to 4 do begin
                                      write
    (m[i,j]);
                                      
    write(' ');
                                      
    end;
                     
    end;
    readln;
    end
    ma c'é un piccolo problema: non stampa gli elementi incolonnati. Come posso incolonnarli? ecco un'immagine che descrive il mio "problema":

    praticamente metto dopo l''elemento da scrivere :spazio da occupare
    es
    codice:
    write(m[i,j]:3)
    senza poi mettere alcuno spazio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.