Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - TheShocker

#11
Estoy aprendiendo a usar funciones y el caso es que ciertas funciones con punteros me resultan algo confusas, así que no sé si lo estoy haciendo bien.

El caso es que el programa funciona bien pero a la hora de meter numeros negativos, por ejemplo:

-10, 2, 4

Me reconoce como maximo el numero negativo (En este caso -10) y como minimo el 2.



Código (cpp) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#define DIM 100

void leer_vector(int *, int);
void escribir_vector(int *, int);
void max_min_lista(int *, int, int *, int *);

int main(int argc, char *argv[])
{
   int dim;
   int vector[DIM];
   int maximo, minimo;
   
   printf("Introduzca la dimension del vector: ");
   scanf("%d",&dim);
   
   leer_vector(vector,dim);
   
   printf("\n");
   
   escribir_vector(vector, dim);
   
   printf("\n");
   
   max_min_lista(vector, dim, maximo, minimo);
   
   printf("\n\n");
   
 
 system("PAUSE");
 return 0;
}

void leer_vector(int *v, int dim){
    int i;
    for(i=0;i<dim;i++){
                                     printf("\nElemento (%d): ", i+1);
                                          scanf("%d",&v[i]);
                                          }
    }
   
void escribir_vector(int *v, int dim){
    int i;
    for(i=0;i<dim;i++){
                        printf("%8d ", v[i]);
                        }
}

void max_min_lista(int *v, int dim, int *max, int *min){
    int f, c;
   
    min = v[0];
    max = v[0];
   
    for(f=0;f<dim;f++){
                       if(v[f] > max){
                       max = v[f];
                       } else if(v[f] < min){
                       min = v[f];
                       }
                                                             }
   
    printf("Maximo: %d   Minimo: %d", max, min);
                                            }
#12
Programación C/C++ / Re: Problema con codigo en C
21 Diciembre 2014, 18:09 PM
Muchisimas gracias por la explicación, me ha quedado todo más claro y ya he conseguido hacer que funcione.
#13
Programación C/C++ / Re: Problema con codigo en C
21 Diciembre 2014, 16:35 PM
Ya he modificado eso pero sigue saliendome 0, no consigo verlo XDD
#14
Programación C/C++ / Problema con codigo en C
21 Diciembre 2014, 15:07 PM
Buenas, estoy aprendiendo a programar en C y tengo una duda.

Al compilar el programa y al hacer la media me devuelve como resultado un 0.0000 y no consigo ver cual es el problema

¿Alguien me echa una mano?








#include <stdio.h>
#include <stdlib.h>
#define DIM 100


void leer_vector(int *, int);
float media_vector (int *, int);
void escribir_vector(int *, int);

int main(int argc, char *argv[])

   
    int dim;
    int vector[DIM];
   
    printf("Introduce la dimension del vector: ");
    scanf("%d",&dim);
   
    leer_vector(vector,dim);
   
   
    printf("\n\n");
   
    escribir_vector(vector,dim);
   
    media_vector(vector,dim);
   
    printf("\n\nMedia: %f", media_vector);
   
    printf("\n\n");
   
  system("PAUSE");   
  return 0;
}


float media_vector (int *v, int dim){
      int i;
      float media;
      media = 0;
      for(i=1;i<=dim;i++){
                          media = media + v;
                          }
     
      return media/dim;
      }
     
     
void leer_vector(int *v, int dim){
     int i;
     for(i=1;i<=dim;i++){
                                      printf("\nElemento (%d): ", i);
                                           scanf("%d",&v);
                                           }
     }
     
void escribir_vector(int *v, int dim){
     int i;
     for(i=1;i<=dim;i++){
                         printf("%8d ", v);
                         }
}