quinta-feira, 2 de junho de 2011

VETOR DA MORTE

02) FAÇA UM PROGRAMA QUE PREÊNCHA UM VETOR DE 5 POSIÇÕES SENDO QUE
ESTE ACUSE QUANDO FOR DIGITADO UM NUMÉRO REPETIDO.

PROGRAM QUESTAO_02 ;
VAR V : ARRAY [1..6] OF INTEGER;
    A,B,I,C : INTEGER;   
 BEGIN
FOR I := 1 TO 6 DO
   V[I] := 0;
 A := 0; B := 0;
   WHILE B < 6 DO
       BEGIN
         WRITE('DIGITE O NUMERO DA ',B,' POSIÇÃO: ');
         READ(A); WRITELN;
         C := 0; I := 0;
           WHILE I < 6 DO
                BEGIN
                  I := I +1;
                  IF A = V[I] THEN
                    BEGIN
                      WRITELN('ESTE NÚMERO JA FOI DIGITADO');
                      C := 6;
                    END;
                  IF V[I] = 0 THEN
            BEGIN
              V[I] := A;
              B := B +1;
                IF B < 6 THEN
                  BEGIN
                   WRITE('DIGITE O NUMERO DA ',B,' POSIÇÃO: ');
                   READ(A); WRITELN; 
                       I := 0;
                     END;
               END;
             IF C = 6 THEN
               I := C;
           END;
     END;
  FOR I := 1 TO 6 DO
    WRITELN('O NÚMERO DA POSIÇÃO ',I,' É: ',V[I]);
 END.

6 comentários:

  1. Esse so deu foi dicabeça em Galela.
    Quem fez diferente posta como comentário.

    ResponderExcluir
  2. Program Pzim ;
    var vt: array [1..5] of integer;
    i: integer;
    Begin
    for i:=1 to 5 do
    begin
    write('Digite o ',i,' numero :: ');
    readln(vt[i]);
    case i of
    1:begin
    vt[i]:= vt[i];
    i:=i;
    end;
    2:begin
    if ((vt[i]) <> (vt[1])) then
    begin
    writeln('Pode continuar');
    end
    else
    begin
    writeln('Esse numero ja existe digite outro');
    i:=i-1;
    end;
    end;
    3:begin
    if ((vt[i]) <> (vt[2])) and ((vt[i]) <> (vt[1])) then
    begin
    writeln('Pode continuar');
    end
    else
    begin
    writeln('Esse numero ja existe digite outro');
    i:=i-1;
    end;
    end;
    4:begin
    if ((vt[i]) <> (vt[3])) and ((vt[i]) <> (vt[2])) and ((vt[i]) <> (vt[1]))then
    begin
    writeln('Pode continuar');
    end
    else
    begin
    writeln('Esse numero ja existe digite outro');
    i:=i-1;
    end;
    end;
    5:begin
    if ((vt[i]) <> (vt[4])) and ((vt[i]) <> (vt[3])) and ((vt[i]) <> (vt[2])) and ((vt[i]) <> (vt[1]))then
    begin
    writeln('Pode continuar');
    end
    else
    begin
    writeln('Esse numero ja existe digite outro');
    i:=i-1;
    end;
    end;
    end;
    end;
    for i:= 1 to 5 do
    begin
    writeln('O numero ',i,' escolhido foi :: ',vt[i]);
    end;
    End.

    Estou otimizando o código por enquanto é somente esse mesmo galera..vlw!!!!

    ResponderExcluir
  3. GALERA EU OTIMIZEI O CODIGO FONTE E TIREI ALGUS BUGS ESTE AGORA TA RODANDO 100%.

    ResponderExcluir
  4. Galera melhorei o meu 100% agora ficou melhor olha só...

    Program vetores_numeros_repetidos ;
    var v: array [1..5] of integer;
    numero_inicial,i,r,rep:integer;
    Begin
    for i:=1 to 5 do
    begin
    rep:=1;
    while rep<>0 do
    begin
    write('Digite o ',i,' numero :: ');
    readln(v[i]);
    numero_inicial:=0;
    for r:=1 to i do
    begin
    if ((v[i]=v[r]) and (i<>r)) then
    begin
    writeln('Esse numero ja existe');
    numero_inicial:=1;
    end;
    end;
    if numero_inicial=0 then
    begin
    rep:=0;
    end;
    end;
    end;
    for i:= 1 to 5 do
    begin
    writeln('O numero ',i,' escolhido foi :: ',v[i]);
    end;
    End.

    ResponderExcluir
  5. Puta merda meu irmão, passei esse final de semana infurnado no pc para resolver esse negócio, quase que eu fico doido...Mais acabei resolvendo...esse ultrapassou os limides da concentraçao....!!!Mais valeu..!!!

    ResponderExcluir
  6. GALERA EU FIZ LOUCURA ALEM DE OTIMIZAR O CODIGO EU AINDA FIZ COM QUE ELE MIM MOSTRASSE OS NUMEROS EM ORDEM CRESENTE E O CODIGO AINDA FICOU MENOR DO QUE O QUE EU TINHA POSTADO VE SÓ.

    Program Vetor_Repetido ;
    var v : array[1..5] of integer;
    i,a,r:integer;
    Begin
    for i := 1 to 5 do
    begin
    a := 0;
    write('Digite o número na posição ',i,' ');
    read(V[i]);
    for r := 1 to 5 do
    if V[i] = V[r] then
    begin
    a := a +1;
    if a = 2 then
    begin
    writeln('Este número ja existe');
    i := i - 1;
    end;
    end;
    end;
    for i := 1 to 5 do
    for r := 1 to 5 do
    if v[i] < V[r] then
    begin
    a := v[i];
    v[i] := v[r];
    V[r] := a;
    end;
    for i := 1 to 5 do
    writeln(V[i]);
    End.

    ResponderExcluir