Ir ao conteúdo
  • Cadastre-se
Ana Clara Alves Nunes

C Vetor que gere 10 elementos

Posts recomendados

Me ajude a fazer essa questão 

image.thumb.png.5a962df09bd6aa65d35a0af69585be75.png

 

printf("Gerando valores para o vetor resultante...\n.\n.\n");
    for(i = 0 ; i<10 ; i++){
        z = 0;
        d = x[i];
        while( z<20 ){
            if(y[z] == d){
                t[k] = d;
                //printf("%d\n", t[k]);
                k = k + 1;
                z = 20;
            }else{
                z = z + 1;
            }
        }

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cria os dois primeiros vetores com valores fixos. Depois você percorre cada posição do primeiro vetor comparando com cada posição do segundo (pode usar um for dentro do outro, ou uma função). Caso os valores sejam iguais, você verifica se esse valor já existe no terceiro vetor, caso não exista, você adiciona.

 

Use uma variável inteira para representar a posição de inserção no terceiro vetor, assim fica mais fácil de percorrê-lo depois.

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Ana Clara Alves Nunes       seu código está bom ,  mas ali você está apenas incluindo os números que sejam iguais nos dois vetores ,  então faltou você gerar aleatoriamente os números ,  e para isso você pode usar a função rand  , e depois excluir os números que forem repetidos no vetor resultante ,  e no enunciado não pediu para ordenar os números , não , mas creio que seria interessante , pois fica mais fácil  observar o resultado final ,    então seu código com algumas modificações poderia ser assim   :

#include <stdio.h>  /* para usar os comandos de entada e saida ( scanf printf ) */
#include <conio.h>  /* para usar o comando getch     */
#include <time.h>   /* para usar o timer do pc       */
#include <ctype.h>  /* para usar o comando toupper   */
#include <stdlib.h> /* para usar o srand sem warning */
void imprimir(int w[],char p,int q){
    int a;
    printf("Vetor %c -> ",toupper(p));/* convert caractere para maiúculo      */
    for(a=0;a<q;a++)if( w[a] )printf("%d ",w[a]);/* imprime conteúdo do vetor */
    printf("\n");
}
int main(){
    srand(time(NULL));/* para não gerar o mesmo número sempre                 */
    int x[10],y[20],t[20]={},
        r[10],i,j,d=0, aux  ;
    printf("Gerando o Primeiro vetor . . . !\n");
    for(i=0;i<20;i++){
        y[i]     = rand()%100 + 1;/* gerar números de 1 até 100 */
        if(i<10){
            r[i] = rand()%100 + 1;/* gerar números de 1 até 100 */
            x[i]=r[i];
        }
    }   
    for(i=0;i<19;i++)
        for(j=i+1;j<20;j++      ){
            if(i < 10 && j < 10 ){
                if( x[i] > x[j] ){/* ordenando o vetor x */
                    aux  = x[i]  ;
                    x[i] = x[j]  ;
                    x[j] = aux   ;     
                
                    r[i] = r[j]  ;/* ordenando o vetor r */
                    r[j] = aux   ; 
                }
            }
            if(     y[i] > y[j] ){/* ordenando o vetor y */
                    aux  = y[i]  ;
                    y[i] = y[j]  ;
                    y[j] = aux   ;
            }
        }
    for(i=0;i<10;i++)
        for(j=0;j<10;j++)
            if(r[i] == r[j] && i != j)
                r[j] = 0;/* exclui os números repetidos colocando zero naquela posição */
    printf("Oops ! , desculpe acabei gerando o segundo vetor tambem . . . !\n");
    printf("Gerando valores para o vetor resultante...\n.\n.\n");
    for(i = 0 ; i<10 ; i++){
        j = 0;
        while( j < 20 ){
            if(y[j] == r[i] && i != j ){/* armazena os números iguas nos dois vetores */
                t[d]=r[i];
                d++;
            }
            j++;
        }
    }
    imprimir(x,'x',10);
    imprimir(y,'y',20);
    imprimir(t,'t',20);
    getch();
    return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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...