Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

matheusjunio

Intercalar vetores

Recommended Posts

Escreva um programa que leia 10 números inteiros e armazene em dois veotes de 5 elementos cada, consecutivamente(os 5 primeiros números serão do vetor 1 e os outros 5 do vetor 2). Intercale os dois vetores, colocando os elementos num terceiro vetor, mostrando-o, em seguida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Kandrade, eu sei que eu preciso usar o loop para, mas não sei como declará-lo. Como que eu declaro ele?

 

Eu fiz assim só que deu errado

 

Program notasuperior;
 uses wincrt;
  var
   notas:array[1..10]of real;
   i,total:integer;
   media:real;
	begin
	 total:=0;
	 media:=0;
	 for i:=0 to 10 do
	  begin
	   writeln('Digite a nota do aluno:');
	   readln(notas[i]);
		media:=media + notas[i];

		begin
		 media:=media/10;
		 total:= notas[i] > media;
		 end;
		 end;
		 writeln('A média dos alunos é:'media);
		 writeln('O total de alunos que tiveram nota superior a média foram:'total);
		 end.

onde foi que eu errei?

Compartilhar este post


Link para o post
Compartilhar em outros sites

naum entendi sua lógica você abre um begin do for depois abre outro begin do nd e faz eles aninhados.. verifique isso!

 

[]'s

 

Alterado:

Me ajudem a fazer este programa http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Intercalar vetores

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce precisa separar as coisas.

Por exemplo:

 

- ler 10 notas e separa-las em 2 vetores de 5 posições cada.

 

Program notasuperior;
uses wincrt;

var
   vet1:array[1..10]of real;
   vet2:array[1..10]of real;
   i,total:integer;
   media, nota:real;
	
begin
   total:=0;
   media:=0;

// aqui voce armazena 5 notas no vetor 1
   for i:=0 to 5 do
   begin
	  writeln('Digite a nota do aluno:');
	  readln(nota);
	  vet1[i]:= nota;
   end

// aqui voce armazena 5 notas no vetor 2
   for i:=0 to 5 do
   begin
	  writeln('Digite a nota do aluno:');
	  readln(nota);
	  vet2[i]:= nota;
   end
end

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Kandrade pela ajuda, é desse jeito que você me ajudou me passando o código é que era meu objetivo

 

Só que o programa ainda deu erro, esquece esse negocio do total das notas e media. Como que o programa que você me passou ficaria usando dois vetores de 5 elementos cada, consecutivamente(os 5 primeiros números digitados serão do vetor 1 e os outros 5 do vetor 2 ). Intercalando os dois vetores, colocando os elementos num terceiro vetor ,montrando-o, em seguida.

Compartilhar este post


Link para o post
Compartilhar em outros sites
CODE
program intercala;
uses CRT;
var
vet1,vet2: array[1..5] of integer;
vet3:array[1..10] of integer;
i,j:integer;
begin
for i:=1 to 5 do
begin
{preencendo o primeiro vector}
write('Insira o ',i,'elemento');
readln(vet1);
vet3:=vet1; {a medida que le, vai passando pra o vet3}
end;
j:=1;
for i:=6 to 10 do
begin
{preenchendo o segundo vetor}
write('Insira o ',i,'elemento');
readln(vet2[j]);
vet3:=vet2[j]; {aqui comeca a passar os elementos do segundo vetor, repara que i vai de 6 ate 10 }
j:=j+1;
end;
for i:=1 to 10 do
write(vet3); {imprime o vet3}
readkey;
end.

Ai MatheusJunio espero ter ajudado.... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você me ajudou bastante Giovanny Ritchie, nesse forum você é o que mais me ajudou, muito obrigado.

Só que este código que você me passou nao ta intercalando os elementos inseridos, o vet3 só imprime os elementos na ordem que

foram inseridos, será porquê? Qual é o erro neste código? Se puder me ajudar mais esta vez, desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só que este código que você me passou nao ta intercalando os elementos inseridos, o vet3 só imprime os elementos na ordem que

foram inseridos, será porquê? Qual é o erro neste código? Se puder me ajudar mais esta vez, desde já agradeço.

Tem Razao matheusjunio, tinha interpretado mal....mas aqui vai o codigo intercalando:

 

CODE

program intercala;

uses CRT;

var

vet1,vet2: array[1..5] of integer;

vet3:array[1..10] of integer;

i:integer;

begin

for i:=1 to 5 do

begin {preencendo o primeiro vector}

write('Insira o ',i,'elemento');

readln(vet1);

vet3[i*2-1]:=vet1; {a medida que le, vai passando os valores de vet1 pra o posicoes impares do vet3}

end;

for i:=1 to 5 do

begin {preenchendo o segundo vetor}

write('Insira o ',i,'elemento');

readln(vet2[j]);

vet3[i*2]:=vet2; {aqui comeca a passar os elementos do vet2 pra posicoes pares de vet3 }

end;

for i:=1 to 10 do

write(vet3); {imprime o vet3}

readkey;

end.

Que tal agora??? Espero ter ajudado voce..... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.