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ú

Temas - ALONSOQ

#1
Programación C/C++ / eliminar vocales
6 Septiembre 2012, 17:09 PM
Hola estoy haciendo un programa que invierta una cadena y elimie las vocales.

La primera parte la tengo controlada, pero a la hora de eliminar vocales no consigo eliminar todas, ¿ podeis echarme un cable, por favor?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void invertir (char p[]);

main()
{
char palabra[80];

printf("dime una palabra\n");
gets (palabra);
invertir (palabra);
printf("\n");
system("pause");       
}

void invertir (char p [])
{
     int i,j;
     j=strlen(p);
     printf("al reves:\n");
   
    for(i=0;i<=j;i++)
    {
     if (p[i]=='a' || p[i]=='e' ||  p[i]=='i' ||p[i]=='o'||p[i]=='u')     
     {
     p[i]=' ';
     }       
    printf("%c",p[j-i-1]);
   }   
}
#2
Programación C/C++ / Multiplicación de matrices
4 Septiembre 2012, 17:09 PM
Hola,

He redactado este codígo que genera, suma, resta , multiplica y multiplica por un escalar matrices.
La función de multiplicar me falla, podeis ayudarme?
gracias.

#include <stdlib.h>
#include<stdio.h>
#include <time.h>


int n;

void generar_matriz (int m[][3]);
void sumar (int m1[][3], int m2[][3]);
void restar (int m1[][3], int m2[][3]);
void multiplicar (int m1[][3], int m2[][3]);
void escalar (int m1[][3]);

int   main()
{     

        printf("dimension"); 
      scanf("%d",&n); 
      int matriz1[n][3];
       int matriz2[n][3];
     
     
        srand (time(NULL));
         
        generar_matriz (matriz1);
        printf("\n");
        generar_matriz (matriz2);
        printf("\n");
        sumar (matriz1, matriz2);
        printf("\n");
        restar (matriz1, matriz2);
        printf("\n");
        multiplicar(matriz1,matriz2);
        printf("\n");
        escalar(matriz1);
         
        printf ("Presione una tecla para salir.....");
        getchar();
       
}
/*********************************************/

void generar_matriz (int m[][3])
{
     
    int i,j;
   
    for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                {
                    m[i][j]=(rand()%16);
                    printf("%d\t",m[i][j]);
                }
            printf("\n\n");
        }
               
}

void sumar (int m1[][3], int m2[][3])
{
    int i,j;     
    for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                {       
                printf("%d\t",(m1[i][j])+(m2[i][j]));
                }
        printf("\n\n");
        }
}

void restar (int m1[][3], int m2[][3])
{
    int i,j;     
    for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                {
               
                printf("%d\t",(m1[i][j])-(m2[i][j]));
                }
        printf("\n\n");
        }


}
void escalar (int m1[][3]){
     int i, j, e;
     printf("escalar");
     scanf("%d",&e);     
    for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                {
                printf("%d\t", e*(m1[i][j]));
                }
                printf("\n");
        }
}                     
     
void multiplicar (int m1[][3], int m2[][3])
{
    int i,j, k;   
    int m3[n][3];   
    for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                {
                             for (k=0;k<n;k++)
                             {
               
                             m3[i][j]=m3[i][j]+(m1[i][k]*m2[k][j]);
                             }
                printf("%d\t",m3[i][j]);
                }
        printf("\n\n");
        }


}

#3
Programación C/C++ / funciones INT vs VOID
3 Septiembre 2012, 13:38 PM
Buenas,

Una pregunta que me gustaría me aclaraseis,

A la hora de trabajas la función principal con funciones, estas puedes ser void ( no devuelven nada) int (devuelven un parametro), Por ejemplo sumar dos números, se puede hacer de las dos formas; ¿ es recomendable hacerlo de alguna de las dos formas en concreto o se pueden usar indistintamente?

gracias
#4
Hola me piden el siguiente programa:Cree un programa en el que la función principal reciba dos parámetros, el primero numérico y el segundo una cadena de texto. Compruebe que son correctos, y si no lo son muestre un mensaje por pantalla indicando la sintaxis del programa.

He hecho esto, pero no se seguir, ¿podeis ayudarme por favor?

#include<stdio.h>

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

int i;

printf("Argumentos de la línea de órdenes\n\n");

printf("dime un número");
gets (*argv);
printf("Dime una cadena de texto");
       gets (*argv);

for(i=0; i<argc; i++) {
                   if (argc!=2) printf("error");

                }

return 0;
   }


muchas gracias
#5
Programación C/C++ / suma matrices
18 Agosto 2012, 11:07 AM
Hola,
como se suman estas dos matrices?

#include <stdlib.h>
#include<stdio.h>
#include <time.h>
#include<conio.h>

int n,d, i, j;

void  generar_matriz1 ();
void generar_matriz2 ();

 
int   main()
{
     
    srand (time(NULL));
   
       printf("dimensi\xA2n de la matriz1:");
    scanf("%d",&n);
   
       int matriz1[n][n];
             
        generar_matriz1 ();
       
        printf("dimensi\xA2n de la matriz2:");
    scanf("%d",&n);
   
       int matriz2[n][n];
             
        generar_matriz2 ();
         
        printf ("Presione una tecla para salir.....");
        getch();
       
}
/*********************************************/

void generar_matriz1 ()
{
   
    int matriz1[d][d];
   
    for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                {
                    matriz1[i][j]=(rand()%16);
                    printf("%d\t",matriz1[i][j]);
                }
            printf("\n\n");
        }
}

void generar_matriz2 ()
{
   
    int matriz2[d][d];
   
    for (i=0;i<n;i++)
        {
            for (j=0;j<n;j++)
                {
                    matriz2[i][j]=(rand()%16);
                    printf("%d\t",matriz2[i][j]);
                }
            printf("\n\n");
        }
}


muchas gracias pr vuestra ayuda
#6
Programación C/C++ / cadenas y funciones
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?

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>

char  matriz[30];
char matriz_alreves[30];

void suprimir_espacios (char m[]);
void invertir_cadena (char c[]);
void palindromo (char c[], char m[]);
main()
{

suprimir_espacios (matriz);
strcpy (matriz_alreves, matriz);
invertir_cadena (matriz_alreves);
palindromo (matriz_alreves, matriz);
   
   
getch();
}

void suprimir_espacios (char m[])
{
     int i, j;
     printf("Dime un texto conespacios por favor:");
     gets (m);
     
     for (i=0; i<strlen (m);i++)
     {
         m[i]= (tolower(m[i]));
         
         if (m[i]==' ')
         {
           for (j=i+1; m[j]!='\0'; j++)
           {
               m[j-1]=m[j];
           }
           m[j-1]='\0';
         }
         
      }
      printf("%s",m);
}
void invertir_cadena (char c[])
{
     int i, j;
     char aux[30];
     while (i>0)
     aux[j++]=c[--i];
}       
void palindromo (char c[], char m[])
{
if (strcmp(c,m)==0)

    printf("Es palindromo\n");
    else
    printf("No es palindromo\n");
     
}
#7
Programación C/C++ / ¿ como se lee esto?
5 Agosto 2012, 09:13 AM
   
for (i=0;i<strlen (c);i++)
  {
       if (c[i]==' ')
       {
       
          for ( j=i+1; c[j]!='\0';j++)
          {
              c[ j-1]=c[j];
             
          }

          c[j-1]='\0';
     }


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
#8
Programación C/C++ / separar funciones
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

int matriz_aleatoria (int m[] );


    int main()
    {
       int matriz[3];
       srand (time(NULL));
       matriz_aleatoria(matriz);
       
        getch();
    }
   
   
int matriz_aleatoria (int m[])
{
    int  i, s=0;
    float n;
   
   for (i=0; i<3;i++)
    {
    m[i]= (rand()%16);
    printf("%d\t",m[i]);
    s=s+m[i];
    }   
    printf("%d\t",s);
   
    n = (float) s/3;
        printf("%f\t",n);
       
    if (m[0]>m[1])
          if (m[0]>m[2])
          {
             if (m[1]>m[2])
             printf("el mayor es%d y el menor es%d", m[0],  m[2]);
             else
             printf("el mayor es%d y el menor es%d", m[0],  m[1]);
          }
         else
         
           printf("el mayor es%d y el menor es%d", m[2],  m[1]);
     else
     
         if(m[1]>m[2])
          {
                   if (m[0]>m[2])     
                    printf("el mayor es%d y el menor es%d", m[1],  m[2]);
                    else
                     printf("el mayor es%d y el menor es%d", m[1],  m[0]);
          }
}


muchas gracias
   
#9
Programación C/C++ / funciones duda
26 Julio 2012, 22:52 PM
Hola me podeis decir que falla en este codigo?

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

int matriz_aleatoria (int m[3] );
int matriz_aleatoria (int m[3])
{
    int  i;
    srand (time(NULL));
   for (i=0; i<3;i++)
    {
    m[i]= (rand()%16);
    printf("%d",m[i]);
    }   
   
}
   
    int main()
    {
       int matriz[3];
        int contador;
       
       matriz_aleatoria(matriz[contador]);
       
        getch();
    }


muchas gracias
#10
programa en el que la función principal reciba dos parámetros, el primero numérico y el segundo una cadena de texto. Compruebe que son correctos, y si no lo son muestre un mensaje por pantalla indicando la sintaxis del programa.

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

No tengo ni idea, ni de que me piden

un saludo
#11
Programación C/C++ / funciones
15 Julio 2012, 23:29 PM
Hola,

Alguien me puede decier que hago mal en esta función?
#include<stdio.h>
#include<conio.h>

int suma(int n);
int suma(int n)
{
int s;

s=s+n;
n=s=0;
return s;
}

int main()
{
int numero, contador;
int sum;

for(contador=0;contador<5;contador++)
{
printf("dime un numero:");
scanf("%d",&numero);
sum=suma(numero);
}

printf("%d",suma);

getch();

}


gracias
#12
Programación C/C++ / palindromo
13 Julio 2012, 12:47 PM
Hola,

Despues de conseguir, con ayuda, eliminar los espacios de un texto; me propongo saber si un texto es palindromo ( se lee igiual de izda a decha que al reves), he redactado lo que sigue, pero hay algun errorcillo que espero que me podais ayudar a detectar

#include <string.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
int main()

{
      char texto[30];
      char copytexto[30];
     
     
     int i, j;
     
     printf (" escribe la frase:");
      gets( texto );
     

     
     // se copia esta frase en un nuevo arreglo sin espacios
     for( i=0;i<strlen(texto);i++ )
     {
          if( texto[i] == ' ' )/* si hay un espacio*/
          {
              for( j = i+1 ; texto[j] !='\0' ; j++ )
              {
                   texto[j-1] = texto[j];
              }
           
            texto[j-1] = '\0';
          } 
           
     }
       printf( "Sin espacios : %s\n" ,texto );
       
          /*strcpy (copytexto,texto);*/
           
           for (i=0;i<strlen (texto);i++)
           {
               for(j<strlen(texto);j=0;j--)
             
               
                if (texto[i]=texto[j])
               
               
               printf("es palindromo");
               
               else
               
               printf("no lo es");
           }
           
     
      system( "pause" );
}


Muchas gracias
#13
Programación C/C++ / suprimir espacios
11 Julio 2012, 21:51 PM
[code][code]Hola,
Tengo hecho este programa para suprimir espacios en blanco, y funciona correctamente; sin embargo tengo una duda:

Por que si en lugar de utilizar una única cadena:
for( i=0;texto[i]!='\0';i++ )
    {
         if( texto[i] == ' ' )/* si hay un espacio*/
         {
             for( j = i+1 ; texto[j] !='\0' ; j++ )
             {
                  texto[j-1] = texto[j];
             }
           texto[j-1] = '\0';
         }
         
    }
   
          printf( "Sin espacios : %s\n" ,texto );
     
     system( "pause" );
[/code]

utilizo dos cadenas y una la vuelvo en otra mediante strcpy;

for( i = 0 ; texto[i] != '\0' ; i++ )
    {
         if( texto[i] == ' ' )/* si hay un espacio*/
         {
             for( j = i+1 ; palabra[j] != '\0' ; j++ )
             {
                  palabra[j-1] = palabra[j];
             }
             palabra[j-1] = '\0';
         
         }
         
    }
   
 
          printf( "Sin espacios : %s\n" , palabra )
;[/code]
      al meter por ejemplo la frase hola mundo feliz, no funciona en el segundo caso?

muchas gracias
#14
Hola,

Estoy tratando de hacer lo siguiente: introducir un texto, que lo convierta en minúsculas todo y que diga las veces que aparece cada letra

#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<ctype.h>
main()
{
char cadena[255];
char aux[255];
int i,j, tamano;
int a=0;
printf ("dime una palabra:");
gets(cadena);
tamano=strlen(cadena);
for (i=0;i<tamano;i++)
{
    for (j=0;j<255;j++)
    {
    if (cadena[i]=j)
   a++;
    }
   
    printf("%d\t",aux[a]);
}   
    getch();     
}

#15
Programación C/C++ / suma matrices
21 Junio 2012, 13:50 PM
Buenos días he redactado un código para sumar dos matrices aleatorias. Todo va muy bien, hasta el último printf que al compilar me da error, sin embargo creo que el código está bien. ¿ Donde puede estar el error?

muchas gracias por vuestr ayuda

#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<stdlib.h>

int i, j;

int matriz1[3][3];
int matriz2[3][3];
int matriz3[3][3];

main()
{
    srand(time(NULL));
     for(i=0;i<3;i++)
     {
     printf("\n\n");
        for (j=0;j<3;j++)
        {
        matriz1[j]=(rand()%10);   
        printf("%d\t", matriz1[j]);
     
        }       
     }
     printf("\n\n");
     getch();
     
     for (i=0;i<3;i++)
     {
         printf("\n\n");
         for (j=0;j<3;j++)
         {
             matriz2[j]=(rand()%10);
             printf("%d\t",matriz2[j]);
         }   
     }       
     
     for(i=0;i<3;i++)
     {
        for(j=0;j<3;j++)
        {
        matriz3[j]=matriz1[j]+ matriz2[j];
        ptrintf("%d",matriz3[j]);                             
        }
     }


getch();
#16
Programación C/C++ / matriz bidimensional
20 Junio 2012, 19:18 PM
Hola,

Este programa se supone que tendría que darme una matriz tres por tres de 0;

Sin embargo me muestra todos los 0 seguidos en linea;

¿ alguien me puede ayudar por favor?

#include<stdio.h>
#include<conio.h>

for (i=0;i<3;i++)
      {
          printf("\n");
          for (j=0;j<3;j++)
          {
            matriz[j]=3;
           printf("%d\t", matriz[j]);
#17
Programación C/C++ / matriz aleatoria
18 Junio 2012, 17:56 PM
Hola,

Con este código consigo generar una matriz aleatoria de n números, pero no soy capaz de conseguir que los números sean distintos

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

int matriz [5];
int i, num;

main()
{
      for (i=0;i<5;i++)
      {
          srand (time(NULL));
          num= (rand()%16)+1;
          matriz=num;
         
          printf("%d\t",matriz);
         
          }
      getch();
      }


Podríais ayudarme por favor?

un saludo
#18
Programación C/C++ / matrices en c
18 Junio 2012, 13:21 PM
Buenos días

Por favor que me falla en el siguiente código? ¿ por que me escribe por pantalla los números que quiere?

muchísimas gracias

#include<stdio.h>
#include<conio.h>

main()
{
      int matriz[5];
     int valor=10;
      int i;
     
      for(i=0;i<=5;i++)
      {
      matriz= valor;
      }
     
       printf(" %d", &matriz);
       
       
     getch();
}
#19
Programación C/C++ / NUMEROS PRIMOS
15 Junio 2012, 11:29 AM
Buenos días,

Soy nuevo en el foro, llevo muy poco tiempo estudiando el lencuaje C, y estoy tratando de hacer un programa que ingresando 2 numeros diga los primos que hay entre ambos. Esto es lo que he hecho. Podeis reiros.... no os corteis; pero por favor alguien me puede decir que falla?

/*Escribir un programa que nos pida por pantalla dos números enteros y nos muestre los números primos que hay entre ellos.*/

#include <stdio.h>
#include <conio.h>

main ()
{
int  x, c, y;


     printf(" dime un número");
     scanf("%i", &c);
     
     printf(" dime otro número mayor");
     scanf("%i", &y);
     

     
     while (c<=y)
     {
              for (x=2;x=c/2;x++)
           if ((c%x!=0))
       
     
     printf("%i",c);
     
   
     c++;
     getch();
     }
     
     
}

Muchas gracias