Ir ao conteúdo

Posts recomendados

Postado

Crie um algoritmo que gere um vetor de 50 posições preenchidos com valores aleatórios entre 10 e 20. Faça uma função que receba o vetor e retorne quantos números pares são encontrados em índices ímpares.

 

Exemplo com um vetor de tamanho 6:{10,15,12,14,11,20}

Valores: 2

 

  • Amei 1
Postado

@Lucca Rodrigues

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 50


void funcao(int vetor[MAX]){
    int i, cont=0;

    for (i=0; i<MAX; i++){
        if( i%2 == 1){
            if( vetor[i]%2 == 0){
                cont = cont + 1;
            }
        }
    }
    printf("%i", cont);
}



int main(){

    int vetor[MAX], i, cont;
    srand(time(NULL));

    for(i=0; i<MAX; i++){               // criando vetor com numeros aleatorios entre 10-20
        vetor[i]= rand()%10+11;
    }

    for(i=0; i<MAX; i++){               // imprimindo vetor pra conferir
        printf("%i \t", vetor[i]);
    }

    funcao(vetor[MAX]);

	return 0;

}

desculpa, achei que tinha colocado kkkkk

 

@Lucca Rodrigues

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 50


void funcao(int vetor[]){
    int i, cont=0;

    for (i=0; i<MAX; i++){
        if( i%2 == 1){                 // conferindo se o indice é impar
            if( vetor[i]%2 == 0){      // conferindo se o valor do vetor é par
                cont = cont + 1;       // contagem dos numeros pares em indices impares
            }
        }
    }
    printf("\n\nvalores:%i", cont);    // imprimindo a quantidade de valores pares em indices impares
}



int main(){

    int vetor[MAX], i, cont;
    srand(time(NULL));                  // para os valores serem diferentes a cada teste

    for(i=0; i<MAX; i++){               // criando vetor com numeros aleatorios entre 10-20
        vetor[i]= rand()%10+11;
    }

    for(i=0; i<MAX; i++){               // imprimindo vetor pra conferir
        printf("%i \t", vetor[i]);
    }

    funcao(vetor);                      // aplicando a função

	return 0;

}

Acho q estava passando o vetor errado para a funcao, mudei e agora esta dando certo, mas poderia conferir para mim kkkkkk, acho q a geração de numeros não ta gerando o 10.

  • Obrigado 1
Postado

@Ruan1518   o enunciado diz para preencher com números entre 10 e 20 , então seria de 11 até 19 , mas no exemplo mostra números incluindo de 10 até 20 ,  e o rand gera números bem grandes , e se usa o operador "%"  mod de módulo ,  para pegar apenas o resto da divisão  do número gerado dividido pelo valor limite , e assim o resultado pode começar em zero e vai até o número usado como divisor menos 1 , 

int vetor[MAX], i, cont;
srand(time(NULL));         // para os valores serem diferentes a cada teste
for(i=0; i<MAX; i++)       // criando vetor com numeros aleatorios entre 10-20
{
  vetor[i]= rand()%10+11;  /// gera de zero até o num indicado ( 10 ) - 1
}                          /// e como soma se 11 , entAo vai de 0+11 = 11
                           /// até ( 10 ) - 1 = 9 + 11             => 20

e ficaria assim :

int vetor[MAX] = {0}; 
int i          = 0;
int cont       = 0;
srand(time(NULL));          // para os valores serem diferentes a cada teste
for( i=0; i<MAX; i++ )      // criando vetor com numeros aleatorios entre 10-20
{
  vetor[i] = rand()%11+10;  /// gera de zero até o num indicado ( 11 ) - 1  = de 0 até 10
}                           /// e como soma se 10 , entAo vai de 0+10 = 10
                            /// até ( 11 ) - 1 = 10 + 10             = 20

 

  • Curtir 1

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

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!