elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49
361  Programación / Programación C/C++ / Re: Problemas vectores en: 2 Marzo 2012, 22:20 pm
Muchas gracias por responder.

Ese for que puse al final era que había hecho una prueba y se me olvidó borrarlo. Ahora edito el mensaje.

Respecto a tu código... Tiene el mismo error que el mío. No sé por qué, pero sale que el mayor valor es 6...

Gracias.

Saludos.
362  Programación / Programación C/C++ / Problemas vectores en: 2 Marzo 2012, 18:50 pm
Hola.

Tengo un problema con los vectores. El enunciado del ejercicio es el siguiente:

Escribir una función que busque en un vector de números el máximo valor, e indique
su valor y posición. Se supone que el vector está desordenado.

Esto es lo que yo he intentado. Cuando compruebo el resultado no está bien.

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. int maximapos (int V[], int n){
  5.  
  6. int i,mejor_valor;
  7.  
  8. mejor_valor=V[0];
  9.  
  10. for(i=0;i<n;i++) if (V[i]>mejor_valor) mejor_valor=i;
  11.  
  12.    return(mejor_valor);    
  13. }
  14.  
  15. int main (void){
  16.  
  17. int V[7]={12,15,3,64,6,2,1};
  18.  
  19. int mejor_posicion,mejor_valor,i;
  20.  
  21. mejor_posicion=maximapos(V,7);
  22.  
  23. mejor_valor=V[mejor_posicion];
  24.  
  25. printf("El mejor valor es %d y su posicion es %d",mejor_valor,mejor_posicion);
  26.  
  27. system("pause");
  28.  
  29. }
  30.  

Muchísimas gracias.

Saludos.
363  Programación / Programación C/C++ / Re: Calcular numeros impares, de 0 a n. en: 20 Febrero 2012, 22:40 pm
Imagínate que quieres elevar (-1) a un número. Si éste es impar, el resultado será de nuevo (-1), pero, si es par, el resultado será positivo, 1.

Así, puedes obtener los números impares. Ahora pásalo a C de manera que obtengas los números impares de 0 a n, como te piden en el ejercicio.

Saludos.

EDITO: Se me olvidó comentar que eso se aplica para el valor absoluto del número.
364  Programación / Programación C/C++ / Re: Problema en agenda con ficheros en: 12 Febrero 2012, 11:48 am
Gracias por la recomendación.

He estado mirando la página que me has pasado y otras que he encontrado por Internet, y parece muy buena la librería. Todavía no he empezado a usar librerías no incluidas en el compilador, pero cuando termine de leer el manual que estoy siguiendo y de hacer los ejercicios que vienen en él, empezaré a usar librerías que no vienen en el compilador (entre ellas esta que me has pasado).

Saludos y gracias.
365  Programación / Programación C/C++ / Re: ¿Printf y scanf en funciones? en: 11 Febrero 2012, 23:58 pm
Muchas gracias por la aclaración, BlackZeroX (Astaroth). Ya me ha quedado claro.
366  Programación / Programación C/C++ / Re: Problema en agenda con ficheros en: 11 Febrero 2012, 22:44 pm
¡Muchas gracias! Se me olvidó poner eso. Ya lo he añadido.

Saludos.
367  Programación / Programación C/C++ / Re: Problema en agenda con ficheros en: 11 Febrero 2012, 21:27 pm
Este es el código que me ha quedado al hacer el programa:

Código
  1. /*  Una agenda que maneje los siguientes datos: nombre, dirección, tlf móvil, email, y día,
  2.     mes y año de nacimiento (estos tres últimos datos deberán ser números enteros
  3.     cortos). Deberá tener capacidad para 100 fichas. Se deberá poder añadir un dato
  4.     nuevo, visualizar los nombres de las fichas existentes, o mostrar todos los datos de una
  5.     persona (se preguntará al usuario cual es el nombre de esa persona que quiere
  6.     visualizar). Al empezar el programa, leerá los datos de un fichero llamado “agenda.dat”
  7.     (si existe). Al terminar, guardará todos los datos en ese fichero. */
  8.  
  9.    #include <stdio.h>
  10.    #include <stdlib.h>
  11.    #include <string.h>
  12.  
  13.    int main()
  14.    {
  15.        struct
  16.        {
  17.          char nombre[10];
  18.          char direccion[15];
  19.          int movil;
  20.          char email[20];
  21.           int dia, mes, ano;
  22.        }datos[100];
  23.        char lineas[500],comprobar[10];
  24.        FILE* fichero;
  25.        int opcion,posicion,tamano,i=0,j,aux;
  26.       int c;
  27.        fichero = fopen("agenda.dat", "r+b");
  28.        if(fichero != NULL)
  29.        {
  30.  
  31.        while(!feof(fichero)) //Leemos los datos que contiene el archivo y los almacenamos en datos[100]
  32.        {
  33.          c=fscanf(fichero,"%s",datos[i].nombre);
  34.          fscanf(fichero,"%s",datos[i].direccion);
  35.          fscanf(fichero,"%d",&datos[i].movil);
  36.          fscanf(fichero,"%s",datos[i].email);
  37.          fscanf(fichero,"%d",&datos[i].dia);
  38.          fscanf(fichero,"%d",&datos[i].mes);
  39.          fscanf(fichero,"%d",&datos[i].ano);
  40.          if(c!=-1)i++; // evita incrementar erroneamente
  41.        }
  42.  
  43.  
  44.       rewind(fichero);
  45.  
  46.        do
  47.        {
  48.        do
  49.        {
  50.        printf("Fichas guardadas: %i\n",i);
  51.        printf("Elija una opcion\n");
  52.        printf("1. Introducir datos\n");
  53.        printf("2. Visualizar nombres de las fichas existentes\n");
  54.        printf("3. Mostrar todos los datos de una persona\n");
  55.        printf("4. Salir\n");
  56.        scanf("%d",&opcion);
  57.        getchar();
  58.  
  59.        switch(opcion)
  60.        {
  61.          case 1:
  62.               printf("Introduce un nombre: ");
  63.               scanf("%s",datos[i].nombre);
  64.  
  65.               printf("Introduce una direccion: ");
  66.  
  67.               scanf("%s",datos[i].direccion);
  68.               printf("Introduce un movil: ");
  69.               scanf("%d",&datos[i].movil);
  70.               while(getchar() != '\n');
  71.               printf("Introduce correo electronico: ");
  72.  
  73.               scanf("%s",datos[i].email);
  74.               printf("Introduce dia de nacimiento: ");
  75.               scanf("%d",&datos[i].dia);
  76.               while(getchar() != '\n');
  77.               printf("Introduce mes de nacimiento: ");
  78.               scanf("%d",&datos[i].mes);
  79.               while(getchar() != '\n');
  80.               printf("Introduce ano de nacimiento: ");
  81.               scanf("%d",&datos[i].ano);
  82.               i++;
  83.               break;
  84.          case 2:
  85.               for(j=0;j<i;j++)
  86.               {
  87.                 printf("%s\n",datos[j].nombre);
  88.               }
  89.  
  90.  
  91.               break;
  92.          case 3:
  93.              printf("Introduce el nombre de la persona de la que desea visualizar los datos:");
  94.             scanf("%s",comprobar);
  95.              for(j=0;j<i;j++)
  96.              {
  97.                if(strcmp(datos[j].nombre,comprobar)==0)
  98.                {
  99.                  printf("Nombre: %s\n",datos[j].nombre);
  100.                  printf("Direccion: %s\n",datos[j].direccion);
  101.                  printf("Movil: %d\n",datos[j].movil);
  102.                  printf("Email: %s\n",datos[j].email);
  103.                  printf("Dia de nacimiento: %d\n",datos[j].dia);
  104.                  printf("Mes de nacimiento: %d\n",datos[j].mes);
  105.                  printf("Ano de nacimiento: %d\n",datos[j].ano);
  106.                }
  107.              }
  108.               break;
  109.          case 4:
  110.               break;
  111.          default:
  112.                  printf("Opcion no valida!\n");
  113.        }
  114.  
  115.        }while(opcion<1||opcion>4);
  116.  
  117.        }while(opcion!=4);
  118.        }
  119.        aux=i;
  120.        for(i=0;i<aux;i++)
  121.        {
  122.          fprintf(fichero, "%s\n", datos[i].nombre);
  123.          fprintf(fichero, "%s\n", datos[i].direccion);
  124.          fprintf(fichero, "%d\n", datos[i].movil);
  125.          fprintf(fichero, "%s\n", datos[i].email);
  126.          fprintf(fichero, "%d\n", datos[i].dia);
  127.          fprintf(fichero, "%d\n", datos[i].mes);
  128.          fprintf(fichero, "%d\n", datos[i].ano);
  129.          }
  130.       fclose(fichero);
  131.  
  132.        printf("\n\nPulse una tecla para continuar");
  133.        getchar();
  134.        return 0;
  135.    }
  136.  

Saludos.
368  Programación / Programación C/C++ / Re: ¿Printf y scanf en funciones? en: 11 Febrero 2012, 20:25 pm
Gracias por el link. Lo leí hace tiempo, pero no viene nada de eso, ¿no?

Saludos.
369  Programación / Programación C/C++ / Re: ¿Printf y scanf en funciones? en: 11 Febrero 2012, 18:38 pm
Ah, gracias por la respuesta.

No sé cómo pude ver tres o cuatro páginas en las que ponía eso. Me extrañó bastante, por eso lo he preguntado.

Saludos.
370  Programación / Programación C/C++ / ¿Printf y scanf en funciones? en: 11 Febrero 2012, 18:30 pm
Hola.

Leí hace tiempo en Internet que no se debía usar printf y scanf en funciones. Sin embargo, muchas veces veo códigos que los llevan.

Entonces, ¿es correcto usar printf y scanf en funciones?

Gracias.

Saludos.
Páginas: 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [37] 38 39 40 41 42 43 44 45 46 47 48 49
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines