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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7
21  Programación / Programación C/C++ / cadenas y funciones en: 6 Agosto 2012, 18:06 pm
Hola he hecho este programa a base de dos funciones ( suprimir espacios , e invertir cadena) y finalmente copiando una cadena en otra y comparándolas trato de determinar si espalindromo, pero la última parte no me funciona; me podeis ayudar por favor?
Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<conio.h>
  4. #include<string.h>
  5. #include<ctype.h>
  6.  
  7. char  matriz[30];
  8. char matriz_alreves[30];
  9.  
  10. void suprimir_espacios (char m[]);
  11. void invertir_cadena (char c[]);
  12. void palindromo (char c[], char m[]);
  13. main()
  14. {
  15.  
  16. suprimir_espacios (matriz);
  17. strcpy (matriz_alreves, matriz);
  18. invertir_cadena (matriz_alreves);
  19. palindromo (matriz_alreves, matriz);
  20.  
  21.  
  22. }
  23.  
  24. void suprimir_espacios (char m[])
  25. {
  26.     int i, j;
  27.     printf("Dime un texto conespacios por favor:");
  28.     gets (m);
  29.  
  30.     for (i=0; i<strlen (m);i++)
  31.     {
  32.         m[i]= (tolower(m[i]));
  33.  
  34.         if (m[i]==' ')
  35.         {
  36.           for (j=i+1; m[j]!='\0'; j++)
  37.           {
  38.               m[j-1]=m[j];
  39.           }
  40.           m[j-1]='\0';
  41.         }
  42.  
  43.      }
  44.      printf("%s",m);
  45. }
  46. void invertir_cadena (char c[])
  47. {
  48.     int i, j;
  49.     char aux[30];
  50.     while (i>0)
  51.     aux[j++]=c[--i];
  52. }        
  53. void palindromo (char c[], char m[])
  54. {
  55. if (strcmp(c,m)==0)
  56.  
  57.    printf("Es palindromo\n");
  58.    else
  59.    printf("No es palindromo\n");
  60.  
  61. }
22  Programación / Programación C/C++ / Re: ¿ como se lee esto? en: 5 Agosto 2012, 17:14 pm
Muchas gracias
23  Programación / Programación C/C++ / Re: ¿ como se lee esto? en: 5 Agosto 2012, 10:54 am
Como se leeria la condición de dentro del bucle
si i igual a espacio, entonces .... (Es decir cual es el razonamiento)

gracias
24  Programación / Programación C/C++ / ¿ como se lee esto? en: 5 Agosto 2012, 09:13 am
Código
  1.  
  2. for (i=0;i<strlen (c);i++)
  3.   {
  4.        if (c[i]==' ')
  5.        {
  6.  
  7.           for ( j=i+1; c[j]!='\0';j++)
  8.           {
  9.               c[ j-1]=c[j];
  10.  
  11.           }
  12.  
  13.           c[j-1]='\0';
  14.      }

Este codigo ¿ que significaría exactamente?
Para i=0 hasta el tamaño de la cadena, i, avanza
si hay un espacio
para j =i+1 hasta el final de la cadena j.....¿ Que quiere decir? ( se lo que hace que es eliminar espacios; pero como se recita)

muchas gracias
25  Programación / Programación C/C++ / Re: separar funciones en: 1 Agosto 2012, 10:00 am
Muchas gracias por tu ayuda y tu consejo
26  Programación / Programación C/C++ / Re: separar funciones en: 27 Julio 2012, 23:16 pm
¿Así? (no funciona)

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include <time.h>
  5.  
  6. int matriz_aleatoria (int m[]);
  7. int suma(int sum);
  8.  
  9. int main()
  10.    {
  11.    int matriz[3];
  12.    int sum;
  13.    srand (time(NULL));
  14.    matriz_aleatoria (matriz);
  15.    suma (sum);
  16.    getch();
  17.  
  18.    }
  19.  
  20. int matriz_aleatoria (int m[])
  21. {
  22. int i;
  23.    for (i=0;i<2;i++)
  24.    {
  25.    m[i]=(rand()%16);
  26.    printf("%d",m[i]);
  27.    }    
  28.  
  29. }
  30.  
  31. int suma (int s)
  32. {
  33. s= s + m[i];
  34. printf("%d",s);  
  35. }
27  Programación / Programación C/C++ / Re: separar funciones en: 27 Julio 2012, 19:51 pm
 :o :o??
28  Programación / Programación C/C++ / separar funciones en: 27 Julio 2012, 16:41 pm
Hola,

He redactado el siguiente codigo:
hago una función que  crea una matriz aleatoria, la suma, haya la media y dice cual es el mayor y cual el menor.
Mi duda es ¿ como podría separarla en 4 funciones distintas: crea matriz, suma, media, mayor menor
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include <time.h>
  5.  
  6. int matriz_aleatoria (int m[] );
  7.  
  8.  
  9.    int main()
  10.    {
  11.       int matriz[3];
  12.       srand (time(NULL));
  13.       matriz_aleatoria(matriz);
  14.  
  15.        getch();
  16.    }
  17.  
  18.  
  19. int matriz_aleatoria (int m[])
  20. {
  21.    int  i, s=0;
  22.    float n;
  23.  
  24.   for (i=0; i<3;i++)
  25.    {
  26.    m[i]= (rand()%16);
  27.    printf("%d\t",m[i]);
  28.    s=s+m[i];
  29.    }  
  30.    printf("%d\t",s);
  31.  
  32.    n = (float) s/3;
  33.        printf("%f\t",n);
  34.  
  35.    if (m[0]>m[1])
  36.          if (m[0]>m[2])
  37.          {
  38.             if (m[1]>m[2])
  39.             printf("el mayor es%d y el menor es%d", m[0],  m[2]);
  40.             else
  41.             printf("el mayor es%d y el menor es%d", m[0],  m[1]);
  42.          }
  43.         else
  44.  
  45.           printf("el mayor es%d y el menor es%d", m[2],  m[1]);
  46.     else
  47.  
  48.         if(m[1]>m[2])
  49.          {
  50.                   if (m[0]>m[2])      
  51.                    printf("el mayor es%d y el menor es%d", m[1],  m[2]);
  52.                    else
  53.                     printf("el mayor es%d y el menor es%d", m[1],  m[0]);
  54.          }
  55. }
  56.  

muchas gracias
   
29  Programación / Programación C/C++ / Re: funciones duda en: 27 Julio 2012, 14:05 pm
El error principal se encuentra en la funcion "main", ahi llamas a la funcion pasandole un entero:
Código
  1. matriz_aleatoria(matriz[contador]);

Lo correcto es usar solo el nombre del array:
Código
  1. matriz_aleatoria(matriz);

Y ya que la funcion no retorna un valor debes indicar este como void:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. void matriz_aleatoria(int m[]);
  6.  
  7. int main(void)
  8. {
  9.   int matriz[3];
  10.  
  11.   srand((unsigned) time(NULL));
  12.   matriz_aleatoria(matriz);
  13.  
  14.   return 0;
  15. }
  16.  
  17. void matriz_aleatoria(int m[])
  18. {
  19.   int  i;
  20.  
  21.   for (i = 0; i < 3; i++){
  22.      m[i] = rand() % 16;
  23.      printf("%d\n", m[i]);
  24.   }
  25. }

Un saludo

Perdona por la pregunta que seguro que es una tontería, pero por que dices que la función no devuelve ningun valor. ¿ No devuelve tres entreros aleatorios?

gracias
30  Programación / Programación C/C++ / Re: funciones duda en: 27 Julio 2012, 13:23 pm
Muchisimas gracias
Páginas: 1 2 [3] 4 5 6 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines