Ir ao conteúdo

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


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

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
Postado

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

Postado

@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
  • Solução
Postado

@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

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!