Duvida com vetor

7 respostas
Tiago_Transltr

[color=blue]1.Dado o seguinte vetor:

v[1] = 5
v[2] = 1
v[3] = 4
v[4] = 2
v[5] = 7
v[6] = 8
v[7] = 3
v[8] = 6

Escreva um programa baseado no algoritmo abaixo que depois de executado imprima os valores de cada elementos do vetor.

i de 8 até 5 passo -1
aux = v[i]
v[i]= v[8-i+1]
v[8-i+1] = aux

v[3] = v[1]
v[v[3]] = v[v[2]][/color]

eu interpretei como se a primeira linha fosse um "for" e fiz da seguinte forma:

package questao6;
 
public class Main {

    public static void main(String[] args) {
       
int v[]= new int[10];
int aux=0;

v[1] = 5;
v[2] = 1;
v[3] = 4;
v[4] = 2;
v[5] = 7;
v[6] = 8;
v[7] = 3;
v[8] = 6;

for (int i=8;i==5;i--){
aux = v[i];
v[i]= v[8-i+1];
v[8-i+1] = aux;}

v[3] = v[1];
v[v[3]] = v[v[2]];

JOptionPane.showMessageDialog(null, "v[1] = " + v[1] + "v[2] = " + v[2] +"v[3] = " + v[3] +
"v[4] = " + v[4] +"v[5] = " + v[5] +"v[6] = " + v[6] +"v[7] = " + v[7] +"v[8] = " + v[8] );
        
}

}

pois a primeira linha esta interligada apenas as três seguintes...(estava em uma tabela mais não encontrei essa opção aqui)

Alguem pode me dizer o que eu faço para quando for executado o programa seja impresso os valores indicados nos vetores.

7 Respostas

M

No seu “for”, a condição lógica deve ser “i >= 5” e não “i == 5”, certo?

Já para exibir os valores, você pode fazer algo assim:

String resultado = "";
for (int i = 1; i < v.length; i++) {
    // lembrando que o índice dos arrays começa no zero
    // logo, a primeira posição desse vetor não foi tratada
    resultado += "v[" + i + "] = " + v[i] + " ";
}
JOptionPane.showMessageDialog(null, resultado);
Tiago_Transltr

marcobiscaro2112:

for (int i=8;i==5;i--){  
aux = v[i];  
v[i]= v[8-i+1];  
v[8-i+1] = aux;}

No seu “for”, a condição lógica deve ser “i >= 5” e não “i == 5”, certo?

Já para exibir os valores, você pode fazer algo assim:

String resultado = ""; for (int i = 1; i < v.length; i++) { // lembrando que o índice dos arrays começa no zero // logo, a primeira posição desse vetor não foi tratada resultado += "v[" + i + "] = " + v[i] + " "; } JOptionPane.showMessageDialog(null, resultado);

Acho que eu não fui claro em minha pergunta… Como fazer pra exibir exatamente os mesmos valores… especificados na questao… pois do jeito que esta vai ser impresso outros valores…

Tiago_Transltr

Mais foi boa sua dica… vou mudar no meu programa… porem ainda nao sei como fazer para que usando a formula dado seja impresso os valores que foi dado para cada vetor…

M

Antes de alterar o valor das variáveis, armazene uma String com os valores para poder exibir depois:

String valoresIniciais = "";
for (int i = 1; i < 8; i++) {
    valoresIniciais += "v[" + i + "] = " + v[i] + " ";
}

// faz todas as alterações no vetor

String resultado = "";
for (int i = 1; i < 8; i++) {
    resultado += "v[" + i + "] = " + v[i] + " ";
}
JOptionPane.showMessageDialog(null, "Antes: " + valoresIniciais + "\nDepois: " + resultado);

Acho que agora respondi a dúvida certa… ou ainda não?

Tiago_Transltr

marcobiscaro2112:
Antes de alterar o valor das variáveis, armazene uma String com os valores para poder exibir depois:

String valoresIniciais = "";
for (int i = 1; i < 8; i++) {
    valoresIniciais += "v[" + i + "] = " + v[i] + " ";
}

// faz todas as alterações no vetor

String resultado = "";
for (int i = 1; i < 8; i++) {
    resultado += "v[" + i + "] = " + v[i] + " ";
}
JOptionPane.showMessageDialog(null, "Antes: " + valoresIniciais + "\nDepois: " + resultado);

Acho que agora respondi a dúvida certa… ou ainda não?

Será que sou eu que esta interpretanto errado a pergunta? Eu pensei que ele quisesse que quando fosse executado fosse exibido os mesmos
valores especificados acima… e não os valores resultantes… Se for pra exibir os novos valores é muito facil…

M

Pelo enunciado postado aqui, você deve seguir o algoritmo para alterar os valores (coisa que você já fez) e por fim mostrar os valores contidos no vetor (naquele momento, após a alteração). Ou:

Estamos em um impasse. Mas acho que é só isso mesmo. Simples, não?

Tiago_Transltr

marcobiscaro2112:
Pelo enunciado postado aqui, você deve seguir o algoritmo para alterar os valores (coisa que você já fez) e por fim mostrar os valores contidos no vetor (naquele momento, após a alteração). Ou:

Estamos em um impasse. Mas acho que é só isso mesmo. Simples, não?

Deve ser isso mesmo… valew ai cara…

Criado 22 de dezembro de 2008
Ultima resposta 22 de dez. de 2008
Respostas 7
Participantes 2