Ir para conteúdo
Fórum Script Brasil

Glauco Machado

Membros
  • Total de itens

    13
  • Registro em

  • Última visita

Tudo que Glauco Machado postou

  1. Desculpe não ter respondido antes, Jhonas, mas to pegado no trampo e fiquei sem tempo. O programa funciona bem. Só apresenta uma certa falha se carregarmos varios valores repetidos no vetor, mas consegui me ligar um pouco na lógica envolvida. Muito obrigado, meu camarada. abraço
  2. Preciso resolver o seguinte exercício: Leia um vetor de 10 posições e verifique se existem valores iguais e os escreva. Fiz este código: Program Pzim; Var vet1, vet2 : array [1..10] of integer; i, c, x, y : integer; Begin y := 1; for i := 1 to 10 do begin read (vet1[i]); end; for i := 1 to 10 do begin x := vet1[i]; for c := 1 to 10 do begin if (vet1[c]) = x then vet2[y] := x; y := y + 1; end; end; for i := 1 to 10 do write (vet2[i]); End. Mas retornou o seguinte erro: => Erro de execução na linha 16... (if (vet1[c]) = x then) =>O índice na posição 12 está fora dos limites do vetor! Porque está excedendo o limite se estou contando até o tamanho do vetor [10]? É o vetor vet2 que está estrapolando? Se for, como zerá-lo? Obrigado.
  3. Sim, Jhonas, é um exercício. Eu pus a questão lá em cima no 1° post. Pedi ajuda porque não tava conseguindo resolver mesmo e sei q compreendendo este vou ter base para resolver outros. Muito obrigado novamente. O programa está rodando redondinho. Nas próximas dúvidas minhas você pode me dar dicas de como resolver em vez de fornecer o código pronto. Também será de grande valia, pois vai me auxiliar no raciocínio. Obrigado e até a próxima. :D
  4. Cheguei a este código, mas ainda tá errado! O programa só elimina o 1° espaço em branco e faz a conta errada. Alguém tem alguma sugestão? Program Exercicio_9; Var frase:string[51]; i, cont:integer; Begin cont := 0; readln (frase); for i := 1 to 20 do if (frase[i]) = ' ' then begin frase[i] := frase[i + 1]; frase[i + 1] := ' '; cont := cont + 1; end; writeln ('Frase modificada: ', frase); writeln ('A frase continha ', cont, 'espaços em branco.'); End. Obrigado
  5. Eu aqui de novo!! :D . Eis a questão agora: -Leia um vetor contendo letras de uma frase inclusive os espaços em branco. Retirar os espaços em branco do vetor e depois escrevê-la. Tentei o seguinte código: Program Exercicio_9; Var frase: array [1..10] of string; i: integer; Begin for i := 1 to 10 do read (frase[i]); for i := 1 to 10 do if frase[i] = ' ' then begin frase[i] := frase[i + 1]; frase[i + 1] := ' '; end; for i := 1 to 10 do write (frase[i]); End. Ele retira os espaços em branco, sim, porém eu tenho que digitar 10 frases em vez de uma :( Como faço para o programa terminar a leitura do vetor quando eu pressionar ENTER? Obrigado.
  6. Jhonas, obrigado novamente, mas deu erro dizendo que inttostr não foi declarado no programa. E o resultado é quase o que eu queria. Eu consegui resolver com o seguinte código: Program Exercicio_07; Var vetor_a, vetor_b:array [1..5] of integer; vetor_c:array [1..10] of integer; i, x, y:integer; Begin x := 1; y := 2; for i := 1 to 5 do begin read (vetor_a[i]); read (vetor_b[i]); end; for i := 1 to 5 do begin vetor_c[x] := vetor_b[i]; vetor_c[y] := vetor_a[i]; x := x + 2; y := y + 2; end; for i := 1 to 5 do write (vetor_a[i]); writeln; for i := 1 to 5 do write (vetor_b[i]); writeln; for i := 1 to 10 do write (vetor_c[i]); End. Mas vou aproveitar o seguinte trecho do seu código, por estar mais limpo que o meu: program Project2; Var vetor_a, vetor_b:array [1..5] of integer; vetor_c:array [1..10] of integer; i, x, y, z:integer; Begin x := 0; y := 0; for i := 1 to 5 do begin read (vetor_a[i]); read (vetor_b[i]); end; for i := 1 to 10 do begin if i mod 2 = 0 then begin x := x + 1; vetor_c[i] := vetor_a[x]; end else begin y := y + 1; vetor_c[i] := vetor_b[y]; end; end; daí é só eu exibir o conteído do vetor_c Muito obrigado, meu camarada. Abraço :)
  7. Obrigado, Jhonas, mas não funfou. não!! Deu erro na linha 20. for i := 1 to 10 do begin if vetor_a[i] mod 2 = 0 then "O índice na posição 6 está fora dos limites do vetor." O vetor foi declarado com 5 posições e não pode ser lidos além disso --> for i := 1 to 10 do E o que eu preciso não é calcular se os valores dos vetores a e b são pares ou ímpares, mas quando o índice do vetor_c for par receber os valores do vetor_a e quando for ímpar os do vetor_b. Eu preciso guardar nas posições: 2, 4, 6, 8 e 10 do vetor_c os valores do vetor_a e nas posições: 1, 3, 5, 7 e 9 os valores do vetor_b. Alguma idéia, pessoal? Obrigado
  8. Saudações, preciso fazer o seguinte exercício pra facul, porém me perdi na lógica, alguém poderia me dar alguma sugestão? -Leia dois vetores de 5 posições e calcule um outro vetor contendo, nas posições pares os valores do primeiro e nas posições impares os valores do segundo. Program Exercicio_07; Var vetor_a, vetor_b:array [1..5] of integer; vetor_c:array [1..10] of integer; i, x, y:integer; Begin x := 1; y := 1; for i := 1 to 5 do begin read (vetor_a[i]); read (vetor_b[i]); end; for i := 1 to 10 do begin if i mod 2 = 0 then begin vetor_c[i] := vetor_a[x]; x := x + 1; end else begin vetor_c[i] := vetor_b[y]; y := y + 1; end; for i := 1 to 10 do write (vetor_c[i]); end; End. Obrigado, pessoal!! :)
  9. você tá usando um tipo inteiro (int), tente usar tipo de maior "capacidade" (maior intervalo).
  10. Desculpe por não te passar o algoritmo, pois fiz diretamente em Pascal para poder corrigir eventuais erros. Segue o código: Program Inteiro; {Elaborar um programa que efetue a leitura de valores positivos inteiro ate que um valor negativo seja informado.Ao final deverao ser apresentados na tela o o maior e o menor valores informados pelo usuario. } Var num, maior, menor:Integer; Begin writeln('Digite numero:'); readln(num); maior:=num; menor:=num; While num >=0 do Begin writeln('Digite numero:'); readln(num); If (num > maior) Then maior:=num Else If (num <= menor) and (num >=0) Then menor:=num; End; writeln('O maior é: ',maior); writeln('O menor é: ',menor); End. Espero ter ajudado. Abraço.
  11. ninguém vai responder seus exercícios por você. Tente fazer alguma coisa e poste aqui junto com suas dúvidas que certamente você receberá ajuda.
×
×
  • Criar Novo...