Ir ao conteúdo
  • Cadastre-se

Programação Pascalzim


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

O que fiz errado: Inicializante em programação, o que eu fiz de errado?

//12) Ler dois vetores: R de 5 elementos e S de 10 elementos. Gerar um vetor X de 15 elementos cujas 5//primeiras posições contenham os elementos de R e as 10 últimas posições, os elementos de S. Escrever o//vetor X.Program Pzim ;var r: array[1..5] of integer;    s: array[1..10] of integer;    x: array[1..15] of integer;    i: integer; Begin for i:= 1 to 5 do begin r[i]:=i; end; for i:=1 to 10 do begin s[i]:=i; end; for i:=1 to 15 do x[i]:=(r[i]+s[i]) ; for i:=1 to 15 do writeln(x[i]);   End.
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá!
O primeiro "for" você vai colocar:

 r:=i;

x:=r;

 

NO segundo "for", você vai fazer:

s:=i;

x[i+5]:=s;

 

Apague o terceiro "for"

 

O quarto "for" está certo.

 

Eu não testei isso que eu te passei. Utilizei o método "chinês" do seguinte modo:

No primeiro "for" as posições de "r" são iguais às 5 primeiras posições de "x"

No segundo "for" as posições de "s" começam a partir da sexta posição de "x". Por isso eu coloquei "i+5".

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Olá.
 
1) Leitura de dados

for i:= 1 to 5 do begin  r[i]:=i;end;

 
O exercício fala em "Ler dois vetores", creio que esse "ler" esteja se referindo a "coletar do usuário" (que está executando o programa). Para tanto, poderia usar o "readln", em vez de está atribuindo um valor fixo.
 
2) Criação do 3 vetor
A definição de como deve ficar o 3º vetor está claro... creio que não precisa de explicações.. mas tente analisar como está o seu código: 

for i:=1 to 15 do  x[i]:=(r[i]+s[i]);

Sendo que <i> vai de "1 a 15", então teríamos:
x[1]:=r[1]+s[1];

x[2]:=r[2]+s[2];

x[3]:=r[3]+s[3];

x[4]:=r[4]+s[4];

...

x[14]:=r[14]+s[14];

x[15]:=r[15]+s[15];

 

Então, a variável <x>, na posição 1, vai receber o "valor" que contém na variável <r>, na posição 1, mais (somando) com o "valor" que contém na variável <s >,na posição 1;

a variável <x>, na posição 2, vai receber o "valor" que contém na variável <r>, na posição 2, mais (somando) com o "valor" que contém na variável <s >,na posição 2;

a variável <x>, na posição 3, vai receber o "valor" que contém na variável <r>, na posição 3, mais (somando) com o "valor" que contém na variável <s >,na posição 3;

...

a variável <x>, na posição 15, vai receber o "valor" que contém na variável <r>, na posição 15, mais (somando) com o "valor" que contém na variável <s >,na posição 15;

Ou seja, de cara, já dá para percebemos um pequeno erro, pois as variáveis <r> e <s> só vão até 5 e 10 elementos, respectivamente, percebes?

Ou ponto, é que o problema não está falando em "soma da valares" em nenhum momento... , apenas está determinando quais posições vão valer...

 

Para facilitar o entendimento do que está sendo pedido, tente fazer somente "Gerar um vetor X de 15 elementos cujas 5 primeiras posições contenham os elementos de R". Só isso!! Nada mais!!! Consegue imaginar como ficará?

 

Tente fazer isso!!! Coloque para rodar, e veja se deu tudo certinho...

 

 

Depois de pronto... agora esqueça a primeira parte, e tente fazer somente a segunda: "as 10 últimas posições, os elementos de S."

 

Depois é só juntar (ou simplesmente fazer as duas coisas em separado: primeiro um, depois o outro... por sinal, nem vai importar a ordem)..

 

 

No aguardo.

 

No aguardo.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...