var
Vetor : array[1..10] of integer;
Valor, I : integer;
Ok : Boolean;
BEGIN
Clrscr;
for I := 1 to 10 do begin
Writeln('Digite o valor ', I,' do vetor');
Readln(Vetor[i]);
end;
repeat
Ok := False;
Clrscr;
Writeln('Digite o Valor a Pesquisar');
Readln(Valor);
for I := 1 to 10 do begin
if Valor = Vetor[i] then begin
Ok := True;
Writeln('O valor digitado se encontra na posicao ', I);
Readln;
end;
end;
if (Ok = False) and (Valor >= 0) then begin
Writeln('Elemento nao encontrado');
Readln;
end;
until Valor = -1;
Readln;
END.
----------------------------------------------
----------------------------------------------
var
Matriz : array[1..10,1..10] of string;
Fila, Coluna : integer;
I, K : integer;
Cliente : string[40];
Resp : Char;
BEGIN
for I := 1 to 10 do begin
for k := 1 to 10 do begin
Matriz[I,K] := 'Vazia';
end;
end;
repeat
Clrscr;
Writeln('Digite o Nome do Cliente que fez a reserva');
Readln(Cliente);
repeat
Writeln('Digite o Numero da Fila da Reserva do Cliente');
Readln(Fila);
Writeln('Digite o Numero da Coluna da Reserva do Cliente');
Readln(Coluna);
until (Fila <= 10) or (Coluna <= 10);
Matriz[Fila,Coluna] := Cliente;
Writeln('Outro Cliente? ');
Readln(Resp);
until UpCase(Resp) = 'N';
for I := 1 to 10 do begin
for k := 1 to 10 do begin
if Matriz[I,K] <> 'Vazia' then begin
Writeln('Cliente: ', Matriz[I,K]);
Writeln('Fila: ', I);
Writeln('Coluna:', K);
Writeln;
end;
end;
end;
Readln;
END.
__________________
Processador......: Pentium II - 400 MHz :wub:
Placa Mãe.........: PCChips M748LMRT
HD...................: 20GB
Memoria...........: 192 MB SDRam
Placa de Video..: OnBoard
----------------------------------------------
----------------------------------------------
Este problema pode ser solucionado da maneira abaixo:
Program Pzim ;
Var
i, contador : integer;
Numeros, Posicoes : array[1..30] of integer;
{Vetor Posições deve ser da mesma dimensão do Numeros prevendo a possibilidade de todas as 30 posições serem iguais a 24}
Begin
Contador:=0;
For i:=1 to 30 do {i=índice e percorre as 30 posições}
Begin
ReadLn(Numeros[i]);{Lê os valores do Vetor Numeros}
If Numeros[i]=24 then{Se o número lido for = a 24…}
Begin
Contador:=Contador+1;{Incrementa, soma um ao contador}
Posicoes[Contador]:=i;{Inclui no vetor posições no índice=contador o valor de “i” que indica a posição onde foi achado um número = 24}
End;
End;
WriteLn(’A qtd de vezes: ‘,Contador);{A qtd de vezes esta armazenada no contador}
For i:=1 to Contador do
WriteLn(’Posição: ‘,Posicoes[i]);{As posições estão armazenadas no vetor Posições}
End.
------------------------------------------------------
------------------------------------------------------
program Inverte_os_Valores;
Var V, I, C, L, Maior, Numeros, WRT, aux, Pmenor, Pmaior: integer;
espaco: string;
vetor:array[1..15] of integer;
matriz: array[1..3,1..5] of integer;
Begin
clrscr;
writeln(’ Troca os valores do maior e do menor valor do vetor…’);
writeln;
writeln(’ Preencha a matriz com 15 números,’);
writeln(’ Em seguida carrega os valores da matriz dentro do vetor. ‘);writeln;
i:= 0;
WRT:= 1;
for L := 1 to 3 do
for C := 1 to 5 do
begin
write(’ Digite o Número ‘,WRT,’: ‘);
read(matriz[L,C]);
WRT:= WRT + 1;
i:= i + 1;
end;
// irá apenas imprimir a matriz
for L:= 1 to 3 do
begin
writeln;
for C:= 1 to 5 do
Begin
write(espaco:3,matriz[L,C]);
end;
end;
writeln;writeln;Writeln;
// irá jogar a matriz para o vetor
V:= 0;
writeln(’ Posição atual do vetor…’);
for L := 1 to 3 do
for C := 1 to 5 do
Begin
inc(V);
vetor[V]:= (Matriz[L,C]);
Write(Espaco:1,Vetor[V]);
end;
writeln;
//pegará as posições do maior e menor vetor
PMaior:= 1;
For i:= 2 to 15 do
begin
If (vetor[i] > vetor[pmaior]) then
Pmaior:=i;
end;
PMenor:= 1;
For i:= 2 to 15 do
begin
If (vetor[i] < vetor[pmenor]) then
Pmenor:=i;
end;
// imprimirá o vetor na posição atual
writeln;
writeln(’ O vetor na posição: ‘,Pmaior,’ vale: ‘, vetor[PMaior]);
writeln(’ O vetor na posição: ‘,PMenor,’ vale: ‘, Vetor[PMenor]);
writeln;writeln;
//inverterá as posiões o maior e menor valor do vetor
aux:= vetor[Pmenor];
vetor[Pmenor]:= vetor[Pmaior];
vetor[Pmaior]:= aux;
writeln(’ Vetor com o maior e menor valor invertido…’);
for i:= 1 to 15 do
write(espaco:1,vetor[i]);
writeln;writeln;
//imprimirá os valores invertidos
writeln(’ O maior vetor na posição: ‘,Pmaior,’ valerá: ‘, vetor[PMaior]);
writeln(’ O menor vetor na posição: ‘,PMenor,’ valerá: ‘, Vetor[PMenor]);
readkey;
end.
------------------------------------------------------
------------------------------------------------------
Solução em Pascal do Problema 3
program Produto;
var
m, n, nb, p,
i, j, k: integer;
Prod: real;
A, B, C: array [1..50,1..50] of real;
begin
write ('Entre com o tamanho(mXn) da matriz A: ');
readln(m,n);
write ('Digite a matriz A: ');
for i:=1 to m do for j:=1 to n do read(A[i,j]);
write ('Entre com o tamanho(nXp) da matriz B: ');
readln(nb,p);
if nb<>n then write('Nao existe o produto da matriz A por B!!')
else
begin
write ('Digite a matriz B: ');
for i:=1 to n do for j:=1 to p do read(B[i,j]);
i := 1;
while i<=m do
begin
j := 1;
while j<=p do
begin
Prod := 0;
for k:=1 to n do Prod := Prod + A[i,k]*B[k,j];
C[i,j] := Prod;
j := j+1;
Prod := 0
end;
i := i+1
end;
writeln ('Matriz A X B =');
for i:=1 to m do
begin
for j:=1 to p do write(C[i,j],' ');
writeln
end
end
end.
-----------------------------------------------
---------------pelo KARA PSI-------------------
-----------------------------------------------
0 comentários:
Enviar um comentário