Ir ao conteúdo

exercicio com vetor


zé miguelo

Posts recomendados

Postado

galera, tem um exercicio com vetor q ta me rachando a cuca. talvez ate seja trivial de responder, mas não estou tendo a luz:

é o seguinte, tenho um vetor A com 5 elementos e um B com 5 elementos, tenho q gerar um vetor C com 10 elementos q serao os elementos de A e B, mas intercalados:

tipo

A:1,4,5

B:3,8,5

C terá q ser : 1,3,4,8,5,5

como eu faço???

Postado

Para intercalar você pode fazer o seguinte em C++:

int v1[3] = {1, 4, 5};
int v2[3] = {3, 8, 5};
int resultado[6], i= 0, j = 0, k = 0;

while(i != 3 || j != 3)
    resultado[k++] = (j < i? v2[j++]: v1[i++]);

for(i = 0; i < 6; i++)
    printf("%d ", resultado[i]);

Postado

robin, obrigado pela ajuda. a linguagem é o C++, realmente, esqueci de postar. agora, em algoritmo, realmente, eu não entendi mt bem a lógica. poderia postar em linguagem de C++ pra mim?

brigadão

Postado

Eu usei o método bolha (bubble sort) para formar o 3º vetor como você quer:


#include <stdio.h>
#define MAX 10
#define PRESS_ENTER getchar()
int copiar_vetor(int dest[], int v1[], int v2[]);
void bubble(int str[]);

int main()
{
    int i;
    int v1[5] = {1, 10, 7, 3, 25};
    int v2[5] = {6, 2, 10, 30, 17};
    int v3[MAX];
    copiar_vetor(v3, v1, v2);
    printf("Antes:  ");
    for(i = 0; i < MAX; i++)
      printf("%d  ", v3[i]);
    puts("\n");
    bubble(v3);
    printf("Depois: ");
    for(i = 0; i < MAX; i++)
      printf("%d  ", v3[i]);
    PRESS_ENTER;
    return 0;
}

int copiar_vetor(int dest[], int v1[], int v2[])
{
    int c1, c2;
    for(c1 = 0; c1 < 5; c1++)
      dest[c1] = v1[c1];
    for(c2 = 0; c2 < 5; c2++, c1++){
      dest[c1] = v2[c2];
    }
    return dest;
}

void bubble(int str[])
{
    int a, b, temp;
    for(a = MAX-1; a >= 0; a--){
      for(b = 1; b <= a; b++){
        if(str[b - 1] > str[b]){
          temp = str[b - 1];
          str[b - 1] = str[b];
          str[b] = temp;
        }
      }
    }
}


Espero que ajude!

Postado

realmente. uma coisa q eu não tinha pensado. estava difícil organizar. agora tem o metodo q o colega de cima falou e esse tambem. heheeh

Sempre existem N metodos de se desenvolver alguma coisa, cabe a voce julgar qual vale a mais a pena, seja pelo nivel de dificuldade ou por "inteligencia" do algoritmo.

Boa sorte! :-BEER

  • 3 anos depois...
Postado

Esta resposta doi útil em C++ , porém como seria para o java.

eu fiz assim mas nao estou conseguindoo...

// Faça um algoritimo para ler dois vetores com 100 números inteiros cada e em seguida colocar seus elementos

//alternadamente num terceiro vetor.

package Exercicios;

import javax.swing.JOptionPane;

public class Lista_Vetor_05 {

public static void main(String[] arg) {

int vet_a[];

vet_a = new int[100];

int vet_b[] = new int[100];

int vet_c[] = new int[200];

int x[] = new int[4];

for (int i = 0; i < x.length; i++) {

String ler_a = JOptionPane.showInputDialog("Entre com o Valor de A"

+ i);

int a = Integer.parseInt(ler_a);

vet_a = a;

}

for (int i = 0; i < x.length; i++) {

String ler_b = JOptionPane.showInputDialog("Entre com o Valor de B"

+ i);

int b = Integer.parseInt(ler_B);

vet_b = b;

}

for (int i = 0; i < x.length; i++) {

vet_c = vet_a;

vet_c = vet_b;

System.out.printf("A Formação do 3º Vetor: [%d]\n", vet_c);

}

}

}

Arquivado

Este tópico foi arquivado e está fechado para 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!