Ir ao conteúdo
  • Cadastre-se

C função que receba um vetor de inteiros e se tamanho, retorna o maior vetor.


Ir à solução Resolvido por devair1010,

Posts recomendados

implemente uma função que receba um vetor de inteiros e seu tamanho, a função deve retornar o maior número do vetor e seus valores, o programa deve chamar a função criada e imprimir o valor retornado.

 for example 

input        result

5                   8

 

 

 

este seria meu esboço 

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



int maior(int v[], int tam, int indice){
    if(tam == 0)
        return v[indice];
    else{
        if(v[tam - 1] > v[indice]) 
            return maior(v, tam - 1, tam - 1);
        else
            return maior(v, tam - 1, indice);

2

6

8

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

@Caio Fagundes21    parece que esse enunciado  está com erro ,  ele diz para retornar o maior número do vetor , e isso está certo , mas em seguida diz   

5 horas atrás, Caio Fagundes21 disse:

vetor e seus valores,

pois não se pode retornar um vetor inteiro , mas apenas um dos números dele ,   ou então retornar apenas o maior número , e de volta dentro da função main escreve os valores do vetor ..

Link para o comentário
Compartilhar em outros sites

@devair1010 mas não e uma função especifica, seria algo mais generalizado, para qualquer outro valor.

cheguei a essa conclusão mas ainda falta algo 

int encontraMaior (int vetor[], int tam)
{
int i, indice = 0;
int maior = vetor[0];
for (i = 1; i < tam; i++)
{
if (vetor[i] > maior)
{
maior = vetor[i];
indice = i;
}
}
return indice;
}
int main()
{

int pos;
pos = encontraMaior(vet);
printf("Maior valor esta na posicao %d", pos);
return 0;
}

 

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

  • Solução

@Caio Fagundes21    o que falta no seu código é criar o vetor vet e enviar também o tamanho , e seu código com essas modificações poderia ser assim  :

#define _CRT_SECURE_NO_WARNINGS  // para usar scanf e outras funcoes no visual studio
#include <stdio.h>
#include <time.h>                // para usar oa funcao srand
#include <stdlib.h>              // para usar a funcao srand
int encontraMaior(int * , int ); // protótipo da funcao
int main()
{
    srand(time(NULL));           // semente para a funcao rand
    int vet[10] = { 0 };         // cria e preenche o vetor com valor zero
    int i;
    for (i = 0; i < 10; i++)vet[i] = rand() % 2158 + 1; // gera e preenche com valores aleatorios o vetor
    int pos = encontraMaior(vet,10);
    printf("Maior valor esta na posicao %d   pos   numero\n\
           \re o Maior Numero eh %d        " , 
		                        pos,vet[pos]);
    for (i = 0; i < 10; i++)printf("%3d == %4d\n\t\t\t\t", 
		                                       i, vet[i]);
    return 0;
}
int encontraMaior(int vetor[], int tam)
{
    int i, indice = 0;
    int maior = vetor[0];
    for (i = 1; i < tam; i++)
    {
        if (vetor[i] > maior)
        {
            maior = vetor[i];
            indice = i;
        }
    }
  return indice;
}

 

  • Amei 1
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...

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

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!