Ir ao conteúdo
  • Cadastre-se

Como ordenar estes vetores ?


SuperBond

Posts recomendados

Olá, galera. Estou aqui fazendo um código em Pascal. O objetivo do programa é, através da digitação de diversos algarismos, armazenados em vetores independentes ( cada letra A, B, C, D e E é um vetor independente do outro ), o programa deverá fazer as inumeras combinações, obedecendo a distribuição dos algarismos.

Por exemplo:

se eu digitei para as posições ABCDE:

A : 0, 1 e 2

B : 3, 5 e 6

C: 0, 1 e 3

D: 5, 6 e 9

E: 0, 1 e 7

ele só poderá fazer combinações de 5 algarismos como: 03050, 05161, 15390... etc ( Observe que para A ele só usará 0, 1 ou 2, para B: 3,5 ou 6 e assim em diante).

Até aí perfeito! Ele faz certo. Mas o que preciso que ele faça agora é ordenar de forma crescente esses algarismos. Então nessas combinações que pus como exemplo ficaria: 00035, 01156 e 01359... e por aí vai. O código que fiz até agora é esse:


program Combin;
var
comb:text;
i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10:integer;
A: array[1..10] of integer;
B: array[1..10] of integer;
C: array[1..10] of integer;
D: array[1..10] of integer;
E: array[1..10] of integer;
begin
writeln(' QUANTIDADES DE CADA ALGARISMO ');
writeln;
write('QTDE N.o para POSIÇÃO 1:');
readln(Q1);
write('QTDE N.o para POSIÇÃO 2:');
readln(Q2);
write('QTDE N.o para POSIÇÃO 3:');
readln(Q3);
write('QTDE N.o para POSIÇÃO 4:');
readln(Q4);
write('QTDE N.o para POSIÇÃO 5:');
readln(Q5);
writeln;
writeln( ' DIGITAÇÃO DOS ALGARISMOS ');
writeln;
for i1:= 1 to Q1 do
begin
write('N.os POSIÇÃO 1: ');
readln(A[i1]);
end;
for i2:= 1 to Q2 do
begin
write('N.os POSIÇÃO 2: ');
readln(B[i2]);
end;
for i3:= 1 to Q3 do
begin
write('N.os POSIÇÃO 3: ');
readln(C[i3]);
end;
for i4:= 1 to Q4 do
begin
write('N.os POSIÇÃO 4: ');
readln(D[i4]);
end;
for i5:= 1 to Q5 do
begin
write('N.os POSIÇÃO 5: ');
readln(E[i5]);
end;
assign(comb, 'comb.txt');
rewrite(comb);
close(comb);
assign(comb, 'comb.txt');
append(comb);
for i1:= 1 to Q1 do
for i2:= 1 to Q2 do
for i3:= 1 to Q3 do
for i4:= 1 to Q4 do
for i5:= 1 to Q5 do
begin
writeln( A[i1], B[i2], C[i3], D[i4], E[i5] );
writeln(comb, A[i1], B[i2], C[i3], D[i4], E[i5] );
end;
close(comb);
readln;
end.

Obs: Alguns comandos do código ( assign, rewrite etc ) são para saida em arquivo de texto.

Então o que ele tem de fazer a seguir é ordenar os algarismos das combinações que ele fez.

Alguém tem alguma ideia de como fazer isso?

Link para o comentário
Compartilhar em outros sites

Use este procedure para ordenar:


procedure ordenar(var x1, x2, x3, x4, x5: integer);
var
despejo, k: integer;
vet: array[1..5] of integer;
begin
vet[1] := x1;
vet[2] := x2;
vet[3] := x3;
vet[4] := x4;
vet[5] := x5;
k := 1;
repeat
if vet[k] > vet[k+1] then
begin
despejo := vet[k];
vet[k] := vet[k+1];
vet[k+1] := despejo;
k := 1;
end
else
k:=k+1;
until k=5;
x1 := vet[1];
x2 := vet[2];
x3 := vet[3];
x4 := vet[4];
x5 := vet[5];
end;

Link para o comentário
Compartilhar em outros sites

Obrigado pela solução proposta, Vinicius, mas observei que seu código tem apenas um vetor (vet) . Assim, todos os algarismos estariam na mesma matriz.

Mas para o que eu estou fazendo é necessário ter várias matrizes, pois cada grupo A, B, C, D e E armazena uma faixa de valores independente da outra. O código não faz o que eu quero usando apenas uma matriz ou vetor (pelo menos não consegui fazer assim).

A sacada é ordenar esses vetores independentes. Parece que todos os metodos de ordenação usam só um vetor e não servem para mais vetores.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá, galera. Estou aqui fazendo um código em Pascal. O objetivo do programa é, através da digitação de diversos algarismos, armazenados em vetores independentes ( cada letra A, B, C, D e E é um vetor independente do outro ), o programa deverá fazer as inumeras combinações, obedecendo a distribuição dos algarismos.

Por exemplo:

se eu digitei para as posições ABCDE:

A : 0, 1 e 2

B : 3, 5 e 6

C: 0, 1 e 3

D: 5, 6 e 9

E: 0, 1 e 7

ele só poderá fazer combinações de 5 algarismos como: 03050, 05161, 15390... etc ( Observe que para A ele só usará 0, 1 ou 2, para B: 3,5 ou 6 e assim em diante).

Até aí perfeito! Ele faz certo. Mas o que preciso que ele faça agora é ordenar de forma crescente esses algarismos. Então nessas combinações que pus como exemplo ficaria: 00035, 01156 e 01359... e por aí vai. O código que fiz até agora é esse:


program Combin;
var
comb:text;
i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10:integer;
A: array[1..10] of integer;
B: array[1..10] of integer;
C: array[1..10] of integer;
D: array[1..10] of integer;
E: array[1..10] of integer;
begin
writeln(' QUANTIDADES DE CADA ALGARISMO ');
writeln;
write('QTDE N.o para POSIÇÃO 1:');
readln(Q1);
write('QTDE N.o para POSIÇÃO 2:');
readln(Q2);
write('QTDE N.o para POSIÇÃO 3:');
readln(Q3);
write('QTDE N.o para POSIÇÃO 4:');
readln(Q4);
write('QTDE N.o para POSIÇÃO 5:');
readln(Q5);
writeln;
writeln( ' DIGITAÇÃO DOS ALGARISMOS ');
writeln;
for i1:= 1 to Q1 do
begin
write('N.os POSIÇÃO 1: ');
readln(A[i1]);
end;
for i2:= 1 to Q2 do
begin
write('N.os POSIÇÃO 2: ');
readln(B[i2]);
end;
for i3:= 1 to Q3 do
begin
write('N.os POSIÇÃO 3: ');
readln(C[i3]);
end;
for i4:= 1 to Q4 do
begin
write('N.os POSIÇÃO 4: ');
readln(D[i4]);
end;
for i5:= 1 to Q5 do
begin
write('N.os POSIÇÃO 5: ');
readln(E[i5]);
end;
assign(comb, 'comb.txt');
rewrite(comb);
close(comb);
assign(comb, 'comb.txt');
append(comb);
for i1:= 1 to Q1 do
for i2:= 1 to Q2 do
for i3:= 1 to Q3 do
for i4:= 1 to Q4 do
for i5:= 1 to Q5 do
begin
writeln( A[i1], B[i2], C[i3], D[i4], E[i5] );
writeln(comb, A[i1], B[i2], C[i3], D[i4], E[i5] );
end;
close(comb);
readln;
end.

Obs: Alguns comandos do código ( assign, rewrite etc ) são para saida em arquivo de texto.

Então o que ele tem de fazer a seguir é ordenar os algarismos das combinações que ele fez.

Alguém tem alguma ideia de como fazer isso?

Olá,

SuperBond,

1) Cadê a identação?

Procure sempre deixar seu código bem identado, ou se está, no caso, disponibilize como você fez...

(no meu caso pelo menos, para verificar o seu código, antes eu tenho que "reidentá-lo para daí verficiar... ^_^)

2) Quantidade de variáveis

Por que as variáveis "i"s e "q"s são são transformadas em arrays?

Em vez de:

  i1, i2, i3, i4, i5, i6, i7, i8, i9, i10,
Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10 :integer;

Para

  i, Q  :array [1..10] of integer;

Eu recomendo...

3) Como deixaria seu código (por enquanto)


var
comb:text;
i1, i2, i3, i4, i5, i6, i7, i8, i9, i10,
Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10 :integer;

(*
A: array[1..10] of integer;
B: array[1..10] of integer;
C: array[1..10] of integer;
D: array[1..10] of integer;
E: array[1..10] of integer;}

//Que tal reduzir colocando ","s ?
*)
A, B, C, D, E : array[1..10] of integer;

BEGIN
writeln(' QUANTIDADES DE CADA ALGARISMO ');
writeln;
write('QTDE N.o para POSIÇÃO 1:'); readln(Q1);
write('QTDE N.o para POSIÇÃO 2:'); readln(Q2);
write('QTDE N.o para POSIÇÃO 3:'); readln(Q3);
write('QTDE N.o para POSIÇÃO 4:'); readln(Q4);
write('QTDE N.o para POSIÇÃO 5:'); readln(Q5);
writeln;
writeln(' DIGITAÇÃO DOS ALGARISMOS ');
writeln;

for i1:= 1 to Q1 do
begin
write('N.os POSIÇÃO 1: ');
readln(A[i1]);
end;
for i2:= 1 to Q2 do
begin
write('N.os POSIÇÃO 2: ');
readln(B[i2]);
end;
for i3:= 1 to Q3 do
begin
write('N.os POSIÇÃO 3: ');
readln(C[i3]);
end;
for i4:= 1 to Q4 do
begin
write('N.os POSIÇÃO 4: ');
readln(D[i4]);
end;
for i5:= 1 to Q5 do
begin
write('N.os POSIÇÃO 5: ');
readln(E[i5]);
end;

assign(comb, 'comb.txt');
rewrite(comb);
{close(comb);} {para que fechar}
{assign(comb, 'comb.txt');} //não precisa re-assinguiar!!!! (mesmo fechando)
append(comb);

for i1:= 1 to Q1 do
for i2:= 1 to Q2 do
for i3:= 1 to Q3 do
for i4:= 1 to Q4 do
for i5:= 1 to Q5 do
begin
writeln(A[i1], B[i2], C[i3], D[i4], E[i5]); {no console}
writeln(comb, A[i1], B[i2], C[i3], D[i4], E[i5]); {no arquivo de texto}
end;

close(comb);
END.[/B]
[B]program Combin;

4) Métodos de ordenação

Existem diversos métodos de ordenação, mas não vou entrar no mérito de cada um. Veja aqui mais sobre eles.

5) Como implemetar

A princípio tem duas formas: ou ordenando o arquivo diretamente ou ordenando pela memória.

Cada um tem suas vantagens e desvantagens:

Via Arquivo:

POSITIVO

Possibilita armazenar um número grande de combinações

NEGATIVO

É mais lento e trabalhoso (leitura e escrita no HD).

Via Memória:

POSITIVO

É muuuuuito mais rápido que o HD

NEGATIVO

Terá um limite menor de combinações, por dois motivos:

1-Tamanho da memória.

2-Limite do array (acho que é até grande, mas não sei qual é - quem souber avisa).

***

Enfim, como você pode fazer...

COM ARRAYS

  • Criar um array que armazene todas as combinações possíveis (tamanho dele = multiplicação dos tamanhos dos outros)
  • Daí ou pegar as combinações diretamente do programa (logo quando está sendo gerando)
    ou
    Pegar os números do próprio arquivo de texto gerado (ler um por um e vai jogando no array)
  • Ordena o array (com o método escolhido)
  • Insere no arquivo de texto (no mesmo ou num novo)

DIRETAMENTE DO ARQUIVO

Neste caso, os valores usados no método de ordenação são diretamente lidos do arquivo, ou seja, onde você teria, por exemplo, vet[1], vet[2], você teria a linha correspondente no arquivo. (como é um arquivo de texto, eu acredito que não se pode usar o "seek()", daí, para ir para determinada posição você terá que pular linha por linha até chegar na linha que você quer!!!).

Assim é mais trabalhoso tanto para o HD (coitado), tanto para o programador!!!^_^

***

Aqui uma versão que fiz usando o método com array e lendo os dados do arquivo... (assim fica mais fácil, pois como preferi trabalhar com string, eu não precisarei converter os números, sobretudo na hora de juntá-los, ou seja, se tentar "concatenar" números, na verdade eles serão somados (_()

OBS.: Não ajustei os "i's, nem os "Q"s.. e inserir umas frescuras a mais, como "TextColor()"s e mensagens na tela... (nada que atrapalhe o raciocínio)

OBS.2: Use o código como base, tente você fazer do seu jeito..., mas se quiser usar esse também é niuma... rs

OBS.3: Faça teste com quantidades pequenas, e se for o caso, retire a parte que imprime os números, já que se forem muitos vai ficar uma bagunça!

program Combin;
uses CRT; {carraga comandos como ReadKey, TextColor, TextBackGround, ClrScr etc}
const
MAX = 100000; {máximo de elementos a serem ordenados}
type
t_vet = array[1..MAX] of string; {não dá para colocar diretamente}

PROCEDURE ordenar(var vetor:t_vet; total:LongInt);
begin
{AQUI CÓDIGO PARA ORDENAR O VETOR!!!}
TextColor(14);
write('ORDENAÇÃO EM CONSTRUÇÃO ');
TextColor(15);

end;

var
i1, i2, i3, i4, i5, i6, i7, i8, i9, i10,
Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10 :integer;
A, B, C, D, E :array[1..10] of integer;

comb,
combOrd :text;
vetor :t_vet;
pos,
i :LongInt;
numeroTxt :string;

BEGIN
TextColor(15); {texti branco (mais claro)}
TextBackGround(0); {fundo preto}
ClrScr; {limpa a tela}

writeln(' QUANTIDADES DE CADA ALGARISMO ');
writeln;
write('QTDE N.o para POSIÇÃO 1:'); readln(Q1);
write('QTDE N.o para POSIÇÃO 2:'); readln(Q2);
write('QTDE N.o para POSIÇÃO 3:'); readln(Q3);
write('QTDE N.o para POSIÇÃO 4:'); readln(Q4);
write('QTDE N.o para POSIÇÃO 5:'); readln(Q5);
writeln;
writeln(' DIGITAÇÃO DOS ALGARISMOS ');
writeln;

for i1:= 1 to Q1 do
begin
write('N.os POSIÇÃO 1: ');
readln(A[i1]);
end;
for i2:= 1 to Q2 do
begin
write('N.os POSIÇÃO 2: ');
readln(B[i2]);
end;
for i3:= 1 to Q3 do
begin
write('N.os POSIÇÃO 3: ');
readln(C[i3]);
end;
for i4:= 1 to Q4 do
begin
write('N.os POSIÇÃO 4: ');
readln(D[i4]);
end;
for i5:= 1 to Q5 do
begin
write('N.os POSIÇÃO 5: ');
readln(E[i5]);
end;

assign(comb, 'comb.txt');
rewrite(comb);
{close(comb);} {para que fechar}
{assign(comb, 'comb.txt');} //não precisa re-assinguiar!!!! (mesmo fechando)
append(comb);

for i1:= 1 to Q1 do
for i2:= 1 to Q2 do
for i3:= 1 to Q3 do
for i4:= 1 to Q4 do
for i5:= 1 to Q5 do
begin
write(A[i1], B[i2], C[i3], D[i4], E[i5],' ');
writeln(comb, A[i1], B[i2], C[i3], D[i4], E[i5]);
end;
close(comb);

writeln;
TextColor(10+blink); {blink = piscar}
write('PRESSIONE QUALQUER TECLA PARA CRIAR UM ARQUIVO ORDENADO');
TextColor(15);
ReadKey;
writeln;
writeln;

{CRIANDO UM ARQUIVO COM OS NÚMEROS EM ORDEM}
{- Coletando números do arquivo de texto}
write('Abrindo arquivo a ser ordenado...');
reset(comb); {abre no início do arquivo}
writeln('[OK]');
write('Lido:');
while (not eof(comb)) and (pos<=MAX) do
{enquanto tiver arquivos a serem lidos e ainda caber no vetor}
begin
readln(comb,numeroTxt); {ler a linha (e pula para outra)}
inc(pos); {atualiza a quantidade no vetor}
write(' ',numeroTxt);
vetor[pos]:=numeroTxt; {armazena o número lido no vetor}
end;
writeln;

{- Ordenando vetor}
write('Ordenando números...');
ordenar(vetor,pos);
writeln('[OK]');

{- Criando um arquivo novo com os números ordenados}
assign(combOrd, 'combOrd.txt'); {assinala o arquivo para o caminho especificado}
write('Criando novo arquivo ordenado...');
rewrite(combOrd); {recriar o arquivo (tenta) e abre-o}
writeln('[OK]');
write('Escrevendo:');
for i:=1 to pos do
{para todos os números do vetor}
begin
write(' ',vetor[i]);
writeln(combOrd,vetor[i]); {escreve no arquivo}
end;
writeln;
write('Fechando arquivo...');
close(combOrd);
writeln('[OK]');
writeln;
writeln('Foram ordenados ',pos,' elementos');
ReadKey;
END.

Qualquer coisa é só postar

Abraços

Link para o comentário
Compartilhar em outros sites

Valeu, estilingue! Ainda vou ter que analisar a solução proposta com mais tempo, mas estou ordenando as combinaçoes assim:

as combinaçoes vão para um arquivo texto e desse arquivo um outro programa

lê e ordena as combinaçoes, mandando-as pra um segundo arquivo. Mas só vou ter tempo pra ver isso na 3ª feira.:(

Desculpa aí pela falta de identação!

Abraço!

Rodei o codigo que você postou, Estilingue, mas as combinações que saem no arquivo combOrd ainda estão desordenadas. Seu código nao ordena, ele apenas faz as combinaçoes desordenadas. Isso eu já estava fazendo no código que postei, amigão.

Ainda estou :confused::confused::confused:

rsrs

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Valeu, estilingue! Ainda vou ter que analisar a solução proposta com mais tempo, mas estou ordenando as combinaçoes assim:

as combinaçoes vão para um arquivo texto e desse arquivo um outro programa

lê e ordena as combinaçoes, mandando-as pra um segundo arquivo. Mas só vou ter tempo pra ver isso na 3ª feira.:(

Desculpa aí pela falta de identação!

Abraço!

Rodei o codigo que você postou, Estilingue, mas as combinações que saem no arquivo combOrd ainda estão desordenadas. Seu código nao ordena, ele apenas faz as combinaçoes desordenadas. Isso eu já estava fazendo no código que postei, amigão.

Ainda estou :confused::confused::confused:

rsrs

Olá,

SuperBond, você leu o código com atenção?? ^_^

Rodei o codigo que você postou, Estilingue, mas as combinações que saem no arquivo combOrd ainda estão desordenadas. Seu código nao ordena, ele apenas faz as combinaçoes desordenadas. Isso eu já estava fazendo no código que postei, amigão.
program Combin;
uses CRT; {carraga comandos como ReadKey, TextColor, TextBackGround, ClrScr etc}
const
MAX = 100000; {máximo de elementos a serem ordenados}
type
t_vet = array[1..MAX] of string; {não dá para colocar diretamente}

PROCEDURE ordenar(var vetor:t_vet; total:LongInt);
begin
[COLOR="Red"] {AQUI CÓDIGO PARA ORDENAR O VETOR!!!}[/COLOR]
TextColor(14);
[COLOR="Red"] write('ORDENAÇÃO EM CONSTRUÇÃO ');[/COLOR]
TextColor(15);

end;

Falta só implementar algum método de ordenação... fica por tua conta!!! :lol:

Vide item 4) da minha postagem anterior para saber mais sobre "métodos de ordenação";

Ou se preferi "adapte" o código de viniciusbmatos... mas veja que a minha procedure ordenar já está com a base (inclusive com os parâmetro que vai receber), basta tentar entender o código de viniciusbmatos e adaptar a minha procedure...

Dicazinha para facilitar (só leia isso após você tentar fazer sozinho, acho que você não precisará ler antes ^_^)

É sério, não leia antes!!!

Pegadinha do malaaaaandro!!!

Brincadeira, tente ai... qualquer coisa nós te damos uma força

PS: Sugiro que realmente dê uma lida sobre "os métodos de ordenação", pois além de ser interessante por si só, faz parte do aprendizado, sobretudo se esse for algum exercício proposto por alguém, assim seria muito mais elegante você informar qual método está usando e porque está usando ele.

PS2: Veja que os métodos JÁ EXISTEM, você não precisa reinventar a roda!!! Mas a ideia é entender como elas funcionam e saber qual delas é a melhor para o seu caso, seja por "facilidade na implementação" ou "seja por ser mais eficiente e ao mesmo tempo eficaz".

No aguardo

Abraços

Link para o comentário
Compartilhar em outros sites

Consegui :D !!!

Criar o código de ordenação não foi tão difícil, o difícil foi enxergar a solução final em matriz bidimensionais. Eu jogava as combinaçoes no código e ele bagunçava tudo, porque entendia os 10 numeros como sendo um unico vetor.Tive a brilhante ideia (_( de usar vetor de duas dimensoes. E deu certo!

Link para o comentário
Compartilhar em outros sites

OK. Lá vai:

program ORDENANDO_NO_ARQ;
uses crt;
var
A: array[1..10, 1..59] of integer;
i, j, Z, y, imenor, troca : integer;
ARQ: file of integer;
NUME:text;
begin
assign(ARQ, 'ARQ.DBP');
reset(ARQ);
for Z:=1 to 59 do
for I:=1 to 10 do
read(ARQ, A[I,Z]);
for Z:=1 to 59 do
for I:=1 to 10 do
Begin
imenor:=I;
for y:=I+1 to 10 do
Begin
if A[y,Z]<A[imenor,Z] then imenor:=y;
End;
if A[I,Z]<>A[imenor,Z] then
Begin
troca:=A[I,Z];
A[I,Z]:=A[imenor,Z];
A[imenor,Z]:=troca;
End;
End;
writeln('Valores Ordenados');
writeln;
assign(NUME, 'NUME.txt');
rewrite(NUME);
close(NUME);
assign(NUME, 'NUME.txt');
append(NUME);
for Z:=1 to 59 do
begin
for I:=1 to 10 do
begin
write( NUME, A[I,Z] );
end;
writeln( NUME );
end;
for Z:=1 to 59 do
begin
for I:=1 to 10 do
begin
write( A[I,Z] );
end;
writeln;
end;
close(ARQ);
close(NUME);
readln;
end.

Algumas observações:

Identação: francamente não tenho paciência pra isso:sne:, mas sei que é importante pro entendimento do código. O codigo tambem não é grande.

No looping for Z:=1 to 59 do e no array o numero 59 é variavel, corresponde à quantidade de combinações a terem os algarismos ordenados. Ainda vou arranjar um jeito de colocar um contador de combinaçoes.

Link para o comentário
Compartilhar em outros sites

Identando...

program ORDENANDO_NO_ARQ;
uses
crt;
var
A: array[1..10, 1..59] of integer;
i, j, Z, y, imenor, troca : integer;
ARQ: file of integer;
NUME:text;
begin
assign(ARQ, 'ARQ.DBP');
reset(ARQ);
for Z:=1 to 59 do
for I:=1 to 10 do
read(ARQ, A[I,Z]);
for Z:=1 to 59 do
for I:=1 to 10 do
Begin
imenor:=I;
for y:=I+1 to 10 do
Begin
if A[y,Z]<A[imenor,Z] then imenor:=y;
End;
if A[I,Z]<>A[imenor,Z] then
Begin
troca:=A[I,Z];
A[I,Z]:=A[imenor,Z];
A[imenor,Z]:=troca;
End;
End;
writeln('Valores Ordenados');
writeln;
assign(NUME, 'NUME.txt');
rewrite(NUME);
close(NUME);
assign(NUME, 'NUME.txt');
append(NUME);
for Z:=1 to 59 do
begin
for I:=1 to 10 do
[COLOR="Red"]begin[/COLOR]
write( NUME, A[I,Z] );
[COLOR="Red"]end;[/COLOR]
writeln( NUME );
end;
for Z:=1 to 59 do
begin
for I:=1 to 10 do
[COLOR="Red"]begin[/COLOR]
write( A[I,Z] );
[COLOR="Red"]end;[/COLOR]
writeln;
end;
close(ARQ);
close(NUME);
readln;
end.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!