Ir ao conteúdo
  • Cadastre-se

C++ Alguem pode me ajudar nesse exercício de C++?


M.Araujo

Posts recomendados

Prezados boa noite,

 

Alguém pode me enviar o algorítimo desse exercício abaixo, desde já deus abençoe!

 

Tendo como base dois vetores A e B de 5 elementos de números inteiros e não ordenados, gerar o vetor C de 5 elementos que será preenchido com os 5 menores números dos vetores A e B.

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

2 horas atrás, M.Araujo disse:

Prezados boa noite,

 

Alguém pode me enviar o algorítimo desse exercício abaixo, desde já deus abençoe!

Pensem comigo ...

 

Essa modalidade de ajuda solicitada é muito comum aqui nesse setor do fórum: repleto de monitores. Contudo, buscar O melhor, O segundo melhor, e ainda, O terceiro melhor aluno que seu colega mais inteligente do seu curso pra realizar tutoria lá (mentoring) é muito mais legal.

"

 

ou 

 

Tenta resolver, sem se preocupar muito com erros e depois posta para correção dos "monitores" do fórum porque corrigir o trabalho é por interpretação dar uma resposta, mas pode ser também uma correção de sintaxe algo mais simples assim não é totalmente antiético, logo nenhum moderador poderá queixar-se com base nas regras.

"

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

13 horas atrás, Mauro Britivaldo disse:

Pensem comigo ...

 

Essa modalidade de ajuda solicitada é muito comum aqui nesse setor do fórum: repleto de monitores. Contudo, buscar O melhor, O segundo melhor, e ainda, O terceiro melhor aluno que seu colega mais inteligente do seu curso pra realizar tutoria lá (mentoring) é muito mais legal.

"

 

ou 

 

Tenta resolver, sem se preocupar muito com erros e depois posta para correção dos "monitores" do fórum porque corrigir o trabalho é por interpretação dar uma resposta, mas pode ser também uma correção de sintaxe algo mais simples assim não é totalmente antiético, logo nenhum moderador poderá queixar-se com base nas regras.

"

 

Boa tarde, primeiramente obrigado por responder o meu tópico. Tentei fazer sim, segue abaixo o código, só não sei fazer essa parte de juntar os 2 vetores em um só e exibir os menores valores, segue o código:

 

#include<stdlib.h>
#include<stdio.h>

#define MAX 5
#define TAM 5

int main(void)
{
    int vetorA[MAX];
    int vetorB[MAX];
    int vetorC[TAM];
    register int i = 0;
    register int t = 0;

    printf("Insira os valores do vetor A:\n");
    for( i = 0; i < MAX; i++ )
    {
        printf("A[%d]: ",i+1);
        scanf("%d",&vetorA[i]);
    }

    printf("Insira os valores do Vetor B:\n");
    for( i = 0; i < MAX; i++ )
    {
        printf("B[%d]: ", i+1 );
        scanf("%d", &vetorB[i] );
    }

    for( i = 0; i < MAX; i++ )
    {
        vetorC[t++] = vetorA[i];
        vetorC[t++] = vetorB[i];
    }

    printf("Os menores valores do Vetor C sao:\n");
    for( t = 0; t < TAM; t++ )
    {
        printf("%d ", vetorC[t]);
    }

    //system("PAUSE");

    return 0;

}

 

Se puder me ajudar te agradeço.

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

Escreva seu programa em torno dos dados. Sempre.

 

Considere também uma construção assim
 

    const int testeA[MAX] = { 2, -4,  6, -8 , 10 };
    const int testeB[MAX] = { -2, 4, -6,  8 ,-10 }; 

    const int outroA[MAX] = { -1, 1, 1, 1, 1 };
    const int outroB[MAX] = {  0, 0, 0, 0, 0 };

 

E escreva seu programa com dados que você pode ir alterando e testando até dar tudo certo. Já deve ter visto o quanto é chato para cada simples teste entrar com 10 números. 


Não faça isso. Só perde tempo. Quando estiver funcionando você insere a leitura, que não acrescenta nada.

 

Sobre um algoritmo

 

Considere os dados e entenda que você tem que olhar todos. Os menores podem estar só no fim do segundo vetor, pode ser tudo igual... Então pode fazer em dois passos:

  • primeiro encontra o menor elemento de todos, do jeito mais ingênuo, olhando um por um afinal tem que olhar um por um.
  • De posse desse conhecimento a segunda fase é um loop, de 2 até o total que precisa para preencher o segundo vetor. Olhando de novo um a um, mas ao invés de procurar o menor procura o menor que seja maior ou igual ao último que colocou no vetor de saída...
Link para o comentário
Compartilhar em outros sites

84047389_Interrogao.png.b7a9a181492934b6f7a318af48fd4866.png@M.Araujo

image.png.5e7602cb263896568faed639d89c1a04.pngLevando só em consideração sua fala e a impressão inicial dela com seu código, vou concluir o seguinte: Teu plano é copiar os vetores para um outro com capacidade de 10 elementos e depois ordenar ele.

"

 

Se funciona? é claro que sim.

O algoritmo de ordenação pode ser qualquer um que venha a ter entediamento. 

"

 

Depois que copiar os dois vetores chame a função de ordenação. Copiar é fácil percorra o vetor A da esquerda para direita,  e da direita para esquerda o vetor B no mesmo loop.

 

AB = [A--------AB--------B]

Se parece complicado tente com dois loops, um inicia onde o outro terminar.

"

 

Na etapa seguinte vem imprimir a sequência dos menores números, mas pode ser que alguns estejam repetidos. Escreva algo que trate esse problema.

Ex.

int cntade =  0; // Quantidade de valores impressos.
int impresso =  2147483647; // Um número inteiro grande inicial.

for (int unsigned indice =  0; (cntade < 5) && (indice < 10); ++ indice) {
	if (impresso != lista[indice]) {
		impresso =  lista[indice];

		printf ("%d ", impresso);

		++ cntade; // incrementa um impresso
	}
}

trocar impressão por gravar no vetor C é fácil

 

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!