Ir para conteúdo
dudaperrut

Função que retorna o maior elemento de um vetor

Recommended Posts

meu programa esta dando falha de segmentação nessa função. 

 

Uma função que recebe dois vetores, o seu tamanho e uma variável ponteiro. A função deve achar o maior elemento do vetor v1 e o menor elemento do vetor v2. A função deve retornar o valor do maior elemento de v1.

void *MaiorMenor (float *vet1, float *vet2, int tam, float *maior)
{   float *menor;
    int i;

  maior = (float*)malloc(tam * sizeof(float));
   
    for(maior=0; maior<tam; maior++)
    { for(i=0; i<tam; i++)
      {  if(*(vet1+(tam-i-1)) > *maior) 
         {  *maior = *(vet1+(tam-i-1));
         }
      }
    }
  menor = (float*)malloc(tam * sizeof(float));
    for(menor=0; menor<tam; menor++)
    { for(i=0; i<tam; i++)
      {  if(*(vet2+(tam-i-1)) < *menor) 
         {  *menor = *(vet1+(tam-i-1));
         }
      }
    }
  return (maior);
}

 

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

  • Conteúdo Similar

    • Por matt.valenzza@gmail.com
      Preciso fazer uma lista duplamente encadeada para ela inserir os números, mostrando eles, localizar em qual posição eles estão e excluir. Eu fiz o código, mas preciso que os números mostrem o número atual, o anterior e o próximo. Que na hora de compilar, que ele mostre o numero anterior, o atual e o próximo em um pequeno menuzinho.
       
      Segue o código que eu criei até agora. 
       
       
       
       
      #include <stdio.h> struct Lista{ int num; struct Lista *prox; struct Lista *ant; }; struct Lista* criarNovoElemento(){ struct Lista *novo = NULL; novo = malloc(sizeof(struct Lista)); printf("Informe o numero..: "); scanf("%i", &(*novo).num); (*novo).prox = NULL; return novo; } inserir (struct Lista **a){ if (*a == NULL){ *a = criarNovoElemento(); } else{ struct Lista *aux; aux = *a; while( (*aux).prox != NULL){ aux = (*aux).prox; } (*aux).prox = criarNovoElemento(); } } mostrar(struct Lista **a){ if (*a == NULL){ printf("\n....Cadastro vazio....\n"); } else{ struct Lista *aux; aux = *a; while( aux != NULL){ printf("\nAtual..: %i", (*aux).num); aux = (*aux).prox; } } printf("\n"); system("pause"); } localizar (struct Lista **a){ if (*a == NULL){ printf("\n....Cadastro vazio....\n"); } else{ int num = 0; int achei = 0; int cont = 0; printf("Informe o numero: "); scanf("%i", &num); struct Lista *aux; aux = *a; while( aux != NULL && achei == 0){ cont += 1; if ((*aux).num == num){ achei = 1; } aux = (*aux).prox; } if (achei == 1){ printf("\n.....Achei na posicao: %i.....\n", cont); } else{ printf("\n.....Nao Achei....\n"); } } printf("\n"); system("pause"); } excluir(struct Lista **a){ if (*a== NULL){ // verificar se existe algum elemento na lista printf("\n....Cadastro vazio....\n"); } else{ struct Lista *aux =*a; a= (**a).prox; free(aux); } printf("\n"); system("pause"); } main (){ struct Lista *inicio = NULL; int opcao = 0; while(opcao != 9){ system ("cls"); printf("\n[1] Inserir Elemento"); printf("\n[2] Mostrar Elemento"); printf("\n[3] Localizar Elemento"); printf("\n[4] Excluir "); printf("\n[9] Finalizar"); printf("\nInforme a opcao: "); scanf("%i", &opcao); switch(opcao){ case 1 : inserir(&inicio); break; case 2 : mostrar(&inicio); break; case 3 : localizar(&inicio); break; case 4 : excluir(&inicio); break; case 9 : printf("Programa finalizado"); } } }  
    • Por felipe_wisbecki
      #include <iostream>
      #include <math.h>
      /* run this program using the console pauser or add your own getch, system("pause") or input loop */
      int main(int argc, char** argv) {
          
          int linhas=0;
      int colunas=0;
      int adp, bdp;

      printf("Entre com a quantidade de linhas da matriz: \n");
      scanf("%d", &linhas);
      printf("Entre com a quantidade de colunas da matriz: \n");
      scanf("%d", &colunas);
      int num[linhas][colunas];
      for (int i=0; i<linhas; i++){
          for(int j=0; j<colunas; j++){
          printf("Entre com o valor [%d,%d]", i+1, j+1);
          scanf("%d", &num[j]);
          }
      }
      printf("\n");
      printf("\n Resultados obtidos \n\n");
      for(int i=0; i<linhas; i++){
          for(int j=0; j<colunas; j++){
          printf(" %d ", num [j]);
          }
      printf("\n");
      }
       
      printf ("\n Diagonal principal \n");
      printf("\n");
       for (int i=0; i< linhas; i++){      
                  for (int j=0; j< colunas; j++){
                       if (i == j){                   
                             printf("\n [%d],[%d] = %d ", i+1, j+1, num[linhas] [colunas]);
              }
              else{
              }
          }
      }
          
          
          
          
           return 0;
      }
    • Por marcos_paulo0o
      Eae Galera!
       
      Estou com um problema em um trabalho da faculdade, e gostaria que vcs me dessem uma ajudinha.
      O trabalho é o seguinte: Desenvolvar um programa em c que consiga registrar , alterar, excluir,  e consultar os dados, mas depois de ter feito o código, eu não consigo encontrar o erro que o compilador estar acusando.
      Eu sou novo na linguagem c e peço que se possível me falem qual é esse erro para que eu possa consertar.
      Agradeço desde já!
       
      PROGRAMA:
       
      #include <stdio.h>
      #include <stdlib.h>
      struct cliente
      {
          char nome[30];
          int cod;
          char ender[30];
          int quant;
          float valor;
      };
       void incluir()
      {
          cliente incluir[1];
          
          for (int i = 0 ; i < 2 ; i++)
          {
              printf("NOME: \n");
              fflush(stdin);
              scanf("%s", &cliente.nome);
              
              printf("CODIGO: \n");
              fflush(stdin);
              scanf("%i", &cliente.cod);
              
              printf("ENDERECO: \n");
              fflush(stdin);
              scanf("%s", &cliente.ender);
              
              printf("QUANTIDADE: \n");
              fflush(stdin);
              scanf("%i", &cliente.quant);
              
              printf("VALOR: \n");
              scanf("%f", &cliente.valor);
          }
      }
      void listar()
      {
          int i, aux;
           
           for(i = 0;i < aux; i++)
           {
                 printf(" ARQUIVO %d\n",(i+1));
                 printf(" CODIGO: %i",cliente.cod);
                 printf(" NOME: %s",cliente.nome);
                 printf(" ENDERECO: %s",cliente.ender);           
                 printf(" QUANTIDADE: %i",cliente.quant);
                 printf(" VALOR: %f",cliente.valor);
                 printf("\n\n");
           }
             }
      void editar()
      {
          int cod, i;
         printf("\n CODIGO: ");
         scanf("%i", &cod);
         printf("\n INFORME OS NOVOS DADOS:\n\n ");
         printf("\n NOME: ");
         scanf("%s", &cliente.nome);
         printf("\n CODIGO: ");
         scanf("%i", &cliente.cod);
         
         printf("\n ENDERECO: ");
         scanf("%s", &cliente.ender);
         printf("\n QUANTIDADE: ");
         scanf("%i", &cliente.quant);
         printf("\n VALOR: ");
         scanf("%f", &cliente.valor);
         
         printf("DADOS ALTERADOS COM SUCESSO!");
      }
      void excluir()
      {
      int cod;
         printf("\n CODIGO: ");
         scanf("%i", cod);
         cliente.cod = "";
         cliente.nome = "";
         cliente.ender = "";
         cliente.quant = "";
         cliente.valor = "";
         printf("DADOS APAGADOS COM SUCESSO!");
      }       
             
      main()
      {
      void incluir();
      void listar();
      void editar();
      int op = 0, aux = 0;
      do
      {
      op = menu();
      switch(op)
      {
      case 1: incluir();
      break;
      case 2: listar();
      break;
      case 3: editar();
      break;
      case 4: excluir();
      break;
      }
      }
      while(op != 0);
      system("pause");    
      }
       
    • Por carol676
      Criar um programa que leia uma matriz quadrada de tamanho 2 ou 3.
      Este tamanho deverá ser escolhido pelo usuário no início do programa.
      depois:
      1) Calcular a soma de cada linha da matriz.
      2) Calcular a soma de cada coluna da matriz.
      4) Calcular a multiplicação dos itens das diagonais principais da matriz.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.