1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Alinhamento : Pascal

Discussão em 'Programação' iniciada por Jammin @, 7 de Novembro de 2007. (Respostas: 13; Visualizações: 2029)

  1. Jammin @

    Jammin @ Power Member

    O obejctivo é aparecer umas frases mas divididas em colunas ou seja neste caso a coluna de CHR mas eu substitui isso por xxx so para testar:
    O erro e que aparece:

    xxx xxx
    xxx
    xxx
    xxx
    xxx


    e era suposto aparecer:
    xxx xxx
    xxx xxx
    xxx xxx
    xxx xxx
    xxx xxx


    Qual é o erro pessoal?
     
  2. HecKel

    HecKel The WORM

    Tu fazes writeln em cada ciclo, no segundo ciclo fazes o mesmo..., o que acontece que isso vá sempre passando para baixo.

    Se no segundo ciclo fizeres apenas write vais ficar com o texto "sobreposto" pois o gotoxy é fixo, a meu ver deveria variar consoante a posição do for.
     
  3. Jammin @

    Jammin @ Power Member

    então devo meter um gotoxy(0,0) no primeiro ciclo right?
     
  4. r3pek

    r3pek Power Member

    não.
    o código correcto devia ser este.

    Código:
    program multi;
    uses wincrt;
    var x,h:integer;
    begin
        for x:=1 to 5 do
            writeln('xxx');
        for h:=1 to 5 do begin
            gotoxy(30,h);
            writeln('xxx');
        end;
    end.
    percebeste a diferença?
     
  5. Jammin @

    Jammin @ Power Member

    Sim, mas eu quero o comando CHR e se o meter as letras já não aparecem =/
     
  6. r3pek

    r3pek Power Member

    tao como keres isso exactamente
     
  7. Jammin @

    Jammin @ Power Member

    É a tabela dos caracteres com os atalhos o stor mandoume organizala por colunas como so cabem 23 linhas
    do genero

    ...

    for i:=1 to 23 do
    writeln(' ',i,' ',chr(i));

    ...

    ate 255 so que nao aparece os caracteres correspondentes
     
  8. xBoShY

    xBoShY Power Member

    O que tu queres é:
    Código:
    program chr_table;
    uses wincrt;
    var x,y:integer;
    
    begin
    	clrscr();
    	for x:= 1 to 12 do
    		for y:= 1 to 22 do
    		begin
    			gotoxy((x-1)*8, y);      /* Espaço entre colunas: 3 */
    			writeln(i, ' ', chr(i)); /* Formato: 255 C */
    		end;
    end.
    Não procurei por problemas de sintaxe e muito menos testei... já não toco em pascal à pelo menos 6 anos =)
     
  9. Jammin @

    Jammin @ Power Member

    BRigado pela ajuda mas so aparece 1 carrada de zeros...
     
  10. rafaqueque

    rafaqueque Power Member

    So aparecem zeros porque a variavel "i" nem está declarada, como ele disse em cima, não procurou por problemas no código, devias ter visto tu isso.
     
  11. Jammin @

    Jammin @ Power Member

    Sim mas a verdade e que ainda estou a tentar corrigir o outro codigo o que ainda não consegui pois continua a não me aparecer o caracter correspondente
     
  12. Jammin @

    Jammin @ Power Member

    Pensei fazer de trás para a frente e já percebi que o raciocinio é esse, mas tenho aqui um erro que estou a olhar a meia hora po pc e não descubro deve ser por tar a queimar

    Resultado:
    [​IMG]
    Eu sei que deve ser algo no ciclo FOR mas não estou a ver o que seja
     
    Última edição: 10 de Novembro de 2007
  13. orgasmics

    orgasmics Power Member

    nao percebi o que querias fazer.. e pascal.. upa upa nao percebo nada disso!
    mas.. nao será pelo facto do writeln impor um "\n" no fim da string impondo uma mudança de linha?
    cumps
     
  14. Jammin @

    Jammin @ Power Member

    O stor a mim e a outro mandou-nos arrumar a tabela por termos tido a melhor nota no modulo.. aos outros deixou fazer com o write mas ficava tudo desarrumado...

    Assim ja ta tudo bem excepto escrever as 23 linhas na coluna ao lado começa 207 e depois nada ou seja continua igual.
     
    Última edição: 10 de Novembro de 2007

Partilhar esta Página