Jump to content
Joanassilva

Dúvidas na manipulação de arrays

Recommended Posts

Joanassilva

Boa tarde amigos,

Será que me podiam ajudar neste exercício? É urgente e nao entendo o que tenho que fazer.

É para escrever um algoritmo que leia 2 vetores x e y com 10 elementos cada. Depois tenho que criar um vetor z que seja

A) a diferença entre x e y

B) a soma entre x e y

C) o produto entre x e y

D) some todos os elementos do vetor

Eu já tentei fazer mas esta íncompleto

Este exercício tambem nao entendi, é para fazer um algoritmo para ler um conjunto de 30 valores e para cada valor lido determinar se é impar ou par e colocar num vetor p ou i. Cada um com 10 posições. Cada vez que encher um dos vetores p ou i, tenh que esvaziar mostrando antes o valor que lá estava(isto é que nao consigo fazer)

Caa vetor p ou i pode ser preenchido quantas vezes for necessário. No final tenho que mostrar os valores que restaram em cada um dos vetores.

Obrigada se consiguirem :(

Edited by Joanassilva

Share this post


Link to post
Share on other sites
thoga31

Bem-vinda ao P@P.

Eu percebo que estejas numa situação mais aflitiva, mas no P@P não há dúvidas mais urgentes. Todas têm a mesma prioridade, e a resposta dada dependerá de quando um membro com os devidos conhecimentos vier ao fórum.

Desta forma, quando te inscreveste, aceitaste as Regras e elas dizem que esse género de títulos não são aceites. Eu vou dar o benefício de seres uma membro nova, pelo que, por favor, muda-o por ti.

Posto isto, onde está o código com o que já tentaste fazer para cada um dos exercícios?


Knowledge is free!

Share this post


Link to post
Share on other sites
Joanassilva

eu nao sabia, podes me dizer então como se muda o titulo?

aqui está o código, mas incompleto:

var x: array [1..10] of integer;
y: array [1..10] of integer;
    diferenca: array [1..10] of integer;
    soma: array [1..10] of integer;
    I: integer;

Begin

Writeln ('Insira valores');
For I:=1 to 10 do
Readln (x[i]);

Writeln ('Insira valores');
For I:=1 to 10 do
Readln (y[i]);

    Diferenca[i]:=x[i]-y[i];

Writeln ('O vetor resultante da diferença entre o x e o y é',diferenca[i]);


End.

Edited by thoga31
Tags code + GeSHi

Share this post


Link to post
Share on other sites
legd1991

Está um bocado confuso o teu problema. Mete aqui o que já tens feito e se conseguires transcrever para aqui o enunciado do problema também ajudava.

Cumprimentos

Share this post


Link to post
Share on other sites
Joanassilva

O enunciado é como esta em cima, pelo que entendi no vetor z terá que ter a diferença entre os valores do vetor x e do vetor y, tal como a soma e o produto. E no final mostrar o resultado de tudo.

No outro exercício nao entendi como haveria de começar :/

Obrigada legd1991

Edited by Joanassilva

Share this post


Link to post
Share on other sites
thoga31

No fundo do teu post está um botãozinho "Editar", entra no editor completo e muda o título.

Quanto ao código, tens de o indentar bem.

Da mesma forma que leste os valores com um ciclo for, também calculas a diferença com um ciclo desses, e também fazes output com um ciclo desses.

for i:=1 to 10 do
   a[i] := // conta

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
legd1991

Já tens os arrays preenchidos, agora tens que criar um ciclo de 1 a 10 e fazer a soma, a diferença entre os valores na posição actual, por exemplo:

for j:=1 to 10 do
somaArray[j]:= x[j]+y[j]

Edited by legd1991

Share this post


Link to post
Share on other sites
thoga31

Vamos resolver um exercício de cada vez. Primeiro o nº1. Tenta lá fazer com os conselhos que demos. Depois vamos ao nº2.


Knowledge is free!

Share this post


Link to post
Share on other sites
Joanassilva

continua a dar me erro

obrigada a todos

var x: array [1..10] of integer;
y: array [1..10] of integer;
    diferenca: array [1..10] of integer;
    soma: array [1..10] of integer;
    produto: array [1..10] of integer;
    I: integer;

Begin
Writeln ('Insira valores');
 For I:=1 to 10 do
  Readln (x[i]);
Writeln ('Insira valores');
 For I:=1 to 10 do
  Readln (y[i]);

    Diferenca[i]:=x[i]-y[i];
    soma[i]:=x[i]-y[i];
    produto[i]:=x[i]*y[i];

Edited by thoga31
GeSHi

Share this post


Link to post
Share on other sites
thoga31

Onde está o ciclo for para fazer os cálculos?

(O título continua inapropriado)

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
legd1991

continua a dar me erro

obrigada a todos

var x: array [1..10] of integer;
y: array [1..10] of integer;
 diferenca: array [1..10] of integer;
 soma: array [1..10] of integer;
 produto: array [1..10] of integer;
 I: integer;

Begin
Writeln ('Insira valores');
 For I:=1 to 10 do
  Readln (x[i]);
Writeln ('Insira valores');
 For I:=1 to 10 do
  Readln (y[i]);

 Diferenca[i]:=x[i]-y[i];
 soma[i]:=x[i]-y[i];
 produto[i]:=x[i]*y[i];

Tens que fazer isso dentro de um ciclo

Share this post


Link to post
Share on other sites
Joanassilva

exato, dentro do ciclo for

var x: array [1..10] of integer;
y: array [1..10] of integer;
    diferenca: array [1..10] of integer;
    soma: array [1..10] of integer;
    produto: array [1..10] of integer;
    I: integer;

Begin
Writeln ('Insira valores');
 For I:=1 to 10 do
  Readln (x[i]);
Writeln ('Insira valores');
 For I:=1 to 10 do
  Readln (y[i]);

For I:=1 to 10 do 
    diferenca[i]:=x[i]-y[i];

    For I:=1 to 10 do
    soma[i]:=x[i]-y[i];

    For I:=1 to 10 do
    produto[i]:=x[i]*y[i];

Edited by thoga31
GeSHi

Share this post


Link to post
Share on other sites
thoga31

Mete tudo num só ciclo:

for i:=1 to 10 do begin
    diferenca[i]:=x[i]-y[i];
    soma[i]:=x[i]-y[i];
    produto[i]:=x[i]*y[i];
end;

Qual a próxima dúvida que tens?

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
Joanassilva

É para somar todos os elementos do vetor, ou seja dar tudo num resultado final

Share this post


Link to post
Share on other sites
thoga31

Não é vector! É array!

E corrige o título, pela última vez...

Para qual das arrays tem de se fazer a soma?

A soma é feita percorrendo os elementos da array e ir somando a uma variável.

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
Joanassilva

cada resultado da soma tem que ir para o array z, tal como cada resultado da diferença. e depois é para somar todos os elementos do vetor z, para dar um todo :) .

Share this post


Link to post
Share on other sites
thoga31

Arra mais os vectores...!

Esse enunciado está muito mal feito. Quem o escreveu devia estar a dormir. Não percebi o que é para somar. Isso não faz sentido...

Nota: já editei o título do tópico. Aquilo é que é um título correcto.


Knowledge is free!

Share this post


Link to post
Share on other sites
Joanassilva

podes crer, deve ter feito mal a traducao da versao brasileira, e agora nem dá quase para resolver, acho que é para somar os índices de cada array :)

Share this post


Link to post
Share on other sites
pwseo

Joanassilva,

Isso não faz sentido (o enunciado, na 4ª alínea). Se temos dois arrays x e y, podemos calcular a diferença, soma e produto entre elementos correspondentes e colocar o resultado num array z.

No entanto, ao colocarmos lá o valor da soma, os valores prévios da diferença desaparecem. O mesmo acontece quando colocarmos lá o produto (desaparece o valor da soma).

Se no final somarmos o que está em z, vamos obter a soma dos produtos de x e y. E isso que pretendes?

Se não sabes bem o que é pretendido... tens algum exemplo da execução correcta do programa? (normalmente os professores dão exemplos... se não dão, deviam).

Edited by pwseo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.