Ir ao conteúdo
  • Cadastre-se

C Função com vetores e ponteiros


Posts recomendados

Alguem poderia me ajudar? 

tem uma questão de uma lista que estou respondendo que pede para criar uma função que receba como parametro um vetor de numeros inteiros de tamanho n e retorne quantos numeros pares estão armazenados nesse vetor int pares( int n, int* vet); 

 

eu não coloquei nenhum codigo porque não sei como iniciar.

não consigo fazer ela, se alguem fizer e me explicar como fez iria ajudar muito, desculpe sou iniciante em c ainda. 😕

Link para o comentário
Compartilhar em outros sites

  • Inicializando a função, temos um totalizador de pares, começando com 0.
  • Você precisa fazer um laço de 0 até N-1.
    • Com o contador desse laço, você soma a posição inicial do vetor (o seu int* vet) com o contador, e você obtém o endereço daquele elemento no vetor.
    • Verifica se o número em questão é par, se for par, incrementa o totalizador.
  • Retorna o totalizador.

Pronto, basicamente isso.

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

Resumindo: você precisa percorrer o vetor com um laço até n, e se na posição atual do laço tiver um número par, você acrescenta 1 à variável que conta os pares. No fim só retornar essa variável.

 

Para saber se um número é par você pode fazer: if(v[c] % 2 == 0). Espero que isto lhe dê a ideia de como fazer o código.

Link para o comentário
Compartilhar em outros sites

19 horas atrás, Jederson Yago disse:

eu não coloquei nenhum codigo porque não sei como iniciar.

não consigo fazer ela, se alguem fizer e me explicar como fez iria ajudar muito, desculpe sou iniciante em c ainda. 😕

 

1) Todo programa C começa a partir da estrutura básica.

#include <stdio.h>
#include <stdlib.h>
int main(void)
{	/* Meu programa c */
	return EXIT_SUCCESS;
}

 

2) O enunciado do problema, como está, já lhe propôs o protótipo de função(jargão). É normal posicionar os protótipos depois das bibliotecas(jargão)  e antes da função principal.

/* Meu espaço biblioteca externa de protótipos de funções */
#include <stdio.h>
#include <stdlib.h>

/* Meu espaço protótipos interno de prótotipos de funções */
int pares(int, int *);

/* Minha função principal */
int main(void)
{	/* Meu programa c */
	return EXIT_SUCCESS;
}

 

3) Analise o problema, pois em muitos casos um problema é na verdade o compilado de muitos outros menores; Pense como resolveria esse se tivesse que resolve-lo com papel e caneta.

 

É par toda aquele que quando dividido inteiro por 2 sobra 0. Em C, a sobra de uma divisão entre inteiros vem de 2 formas básicas: Ou pelo operador módulo [a % b]; ou na forma menos utilizada e analítica de módulo [a - (a/b)*b].

/* Meu espaço biblioteca externa de protótipos de funções */
#include <stdio.h>
#include <stdlib.h>

/* Meu espaço protótipos interno de prótotipos de funções */
int pares(int, int *);

/* Minha função principal */
int main(void)
{	/* Meu programa c */

  	int vetor[3]= {1,2,3};
	int npares= pares(3, vetor);
  
	printf("O vetor tem %d par(es).\n", ?);
	return EXIT_SUCCESS;
}
  
int pares(int n, int * v)
{	int p= 0;
	for(int i= 0; i < ?; i= 1 + i)
	{	if (? == (v[i] ? 2)) p= 1 + p;
	}
	return p;
}

@Jederson Yago Sua obrigação agora é substituir as interrogações pelos valores que acredita ser os certos.

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!