Ir para conteúdo
Fórum Script Brasil

Kingflare

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Tudo que Kingflare postou

  1. Olá pessoal, boa tarde! Estou com uma dúvida sobre como achar a maior sequencia de um array...tenho o seguinte exercício: Faça um programa em pascal que gere um vetor com dimensão 20 e tenha elementos variando entre 22 e 45, usando funções ramdomize e random. O programa deve escrever o vetor gerado. E identifique sua maior sequencia de valores adjacentes não decrescentes e escreva na tela, havendo empate escreva uma delas. Consegui fazer parte da questão, mas na hora de montar a maior sequencia não estou conseguindo, alguém pode me ajudar ? Segue o código: program questao6 (input{teclado},output{vídeo}); uses crt; const min =0; max =19; type t_dominio = 22..45; t_vetor = array[min..max] of t_dominio; var vetor:t_vetor; i:integer; procedure gera_vetor(var vetor:t_vetor); begin randomize; for i:= min to max do vetor [i]:= random(23)+ 22; end; procedure escreva_vetor(var vetor:t_vetor); begin write('A sequencia : '); for i:= min to max do write(vetor [i]:3); writeln(output); end; procedure verifica_maior_sequencia(var vetor{e/s}:t_vetor); begin writeln('A maior sequencia e : '); for i:= min to max do if vetor[i] < vetor[i-1] then write(vetor[i]:3); end; begin gera_vetor(vetor); escreva_vetor(vetor); verifica_maior_sequencia(vetor); readkey; end.
  2. Olá pessoal,boa tarde! Tudo bem ? Estou com umas dúvidas em pascal e gostaria de umas ajudas. Tenho o seguinte exercício: Desenvolva uma pequena aplicação em Pascal que leia do teclado um inteiro n, maior ou igual a 1, e que e que apresente linhas dessa forma: 1 1 1 1 1 4 4 4 4 9 9 9 16 16 25 Dessa forma eu já consegui fazer usando comandos de repetição, todavia o terceiro exercício pede que façamos esse mesmo exercício usando recursividade(sem repetição), não tenho muita ideia de como poderia começar, alguém poderia me dar uma ideia? Segue o código da primeira aplicação program quuest1 (input{teclado}, output{video}); uses crt; var n:integer; procedure esc_linhas(n{e}:integer); var i,t,j :integer; begin t:=n; n:=t-(n-1); for i := t downto 1 do begin for j:= 1 to i do begin write(output, sqr(n),' '); end; writeln; n:=n+1; end; end; begin writeln('Nome do Aluno: Beto'); writeln('Disciplina: Fundamentos de programaçao'); writeln('Primeira Avaliaçao a distancia'); writeln('__________________________________________________'); writeln('Questao 1'); write(output,'Digite um numero inteiro maior ou igual a 1: '); read(input,n); if n>=1 then esc_linhas(n) else writeln(output,' Somente números maiores ou igual a 1 são aceitos'); readkey; end.
×
×
  • Criar Novo...