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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: 1 [2]
11  Programación / Programación C/C++ / Media de una cadena de caracteres '1' y '0' en: 15 Noviembre 2013, 10:33 am
Hola, tengo que realizar un programa que lea de la entrada estandar una cadena compuesta por caracteres '1' y'0' y me diga la media y las veces que se pasa de 0 a 1 y de 1 a 0, debe de omitir cualquier otro caracter. Es decir en 0110. Se debe realizar mediante una funcion que obtenga la cadena y devuelva los dos parametros resultados
La media es 0,25 y el numero de saltos es 2
El problema lo tengo en el planteamiento, como no se la longitud que va a tener la cadena he pensado en leerla del teclado primero, despues le paso a la funcion la cadena y con un if diria que cuando cadena = '1' ||'0' le asigno el valor 1 o 0 a una variable auxiliar y a otra variable el valor de cadena[i+1] y asi hasta que se tope con el final de cadena o encuentre otro caracter en cuyo caso dara error, esto estaria bien? O como debo de hacerlo?. Muchas gracias
12  Programación / Programación C/C++ / obtener factorial y evitar desbordamiento de memoria con punteros en: 11 Noviembre 2013, 11:51 am
hola, tengo que hacer un programa que tenga varias opciones, la primera es la obtencion de un factorial mediante el uso de punteros y funciones de modo que dependiendo de si la variable comprobar es un 1,2 o 0 diga si el numero introducido es negativo, es correcto o ha habido desbordamiento, el problema es que he hecho todo pero al ejecutar el programa no carga y da error, se que el fallo esta en los punteros pero no se como arreglarlo

Código
  1. #include<stdio.h>
  2.  
  3.  
  4.  
  5. int factorial(int numero,int *pfactorial);
  6. int main(void){
  7.  
  8. int opcion;
  9. int numero;
  10. int *pfactorial;
  11. int comprobar;
  12. int factorial;
  13.  
  14.  
  15.  
  16. do{
  17. printf("**********MENU**********\n");
  18. fflush(stdout);
  19.  
  20. printf("1.  Factorial de un numero\n");
  21. fflush(stdout);
  22.  
  23. printf("2.  Seno de un angulo\n");
  24. fflush(stdout);
  25.  
  26. printf("3.  Estadisticas de una secuencia digital\n");
  27. fflush(stdout);
  28.  
  29. printf("4.  Evitar n unos seguidos en una secuencia digital\n");
  30. fflush(stdout);
  31.  
  32. printf("5.  Salir del programa\n");
  33. fflush(stdout);
  34.  
  35. scanf("%d", &opcion);
  36.  
  37.  
  38. if(opcion>0&&opcion<6){
  39. switch(opcion){
  40.  
  41. case 1:
  42. printf("Introduzca un numero para calcular factorial:");
  43. fflush(stdout);
  44. scanf("%d",&numero);
  45.  
  46. comprobar=factorial(numero,&factorial);
  47.  
  48. if(comprobar==1){
  49.  
  50. printf(" Desbordamiento de memoria \n");
  51. }
  52. if(comprobar==2){
  53. printf(" El numero introduzido es negativo");
  54. }
  55.  
  56. if(comprobar==0){
  57.  
  58. printf("El Factorial del numero: %d es: %d \n", numero,*pfactorial);
  59.  
  60. }
  61.  
  62.  
  63. break;
  64. case 2:
  65.  
  66.  
  67. break;
  68. case 3:
  69.  
  70.  
  71. break;
  72. case 4:
  73.  
  74.  
  75. break;
  76.  
  77. case 5:
  78. printf("Adios!");
  79.  
  80. break;
  81.  
  82. default:
  83.  
  84. printf("Elige una opcion valida");
  85. break;
  86.  
  87. }
  88. }
  89. }while(opcion!=5);
  90.  
  91. return 0;
  92. }
  93.  
  94.  
  95. int factorial(int numero,int *pfactorial){
  96.  
  97. int i;
  98. int auxiliar;
  99. int factorial;
  100. int comprobar;
  101. i=1;
  102. auxiliar=1;
  103. if(numero<0){
  104. comprobar=2;
  105. }
  106. if(numero>=0){
  107.    while((i<=numero) && (comprobar!=0)){
  108.     auxiliar=factorial;
  109.     factorial=(factorial*i);
  110.     if((factorial/auxiliar)!=i){
  111.     comprobar=1;
  112. }
  113.     i++;
  114.    }
  115. }
  116. if((factorial/auxiliar)!=i){
  117.     comprobar=0;
  118. }
  119. (*pfactorial)= factorial;
  120. return comprobar;
  121. }
  122.  
  123.  
13  Programación / Programación C/C++ / cifrado cesar en c en: 26 Octubre 2013, 11:18 am
Hola buenos dias, tengo que hacer un programa que encripte y desencripte una secuencia de caracteres en mayuscula mediante el cifrado cesar, pero no logro que arranque se me queda pillado el programa y no se como resolverlo:

el problema lo tengo en el scanf del do que no entra e imprime directamente el mensaje de salida diciendo que ha habido un error con el caracter introducido

Código
  1. char cifrar(int desplazamiento, char caracter);
  2. char descifrar();
  3.  
  4. int main(void){
  5.  
  6. int respuesta;
  7. char caracter;
  8. int desplazamiento;
  9. char caracterConvertido;
  10.  
  11. printf("¿Desea cifrar o descifrar?\n");
  12. fflush(stdout);
  13. printf("cifrar--> 0\n");
  14. fflush(stdout);
  15. printf("descifrar -->1\n");
  16. fflush(stdout);
  17. scanf("%d",&respuesta);
  18.  
  19. do{
  20. printf("Introduce la clave de cifrado\n");
  21. fflush(stdout);
  22. scanf("%d",&desplazamiento);
  23.  
  24.  
  25. if(desplazamiento<0){
  26. printf("Introduce un valor valido\n");
  27. fflush(stdout);
  28. }
  29. }while(desplazamiento<0);
  30.  
  31. if(respuesta==0){
  32.  
  33. printf("Introduce el texto a cifrar:");
  34. fflush(stdout);
  35.  
  36. do{
  37.  
  38. fflush(stdin);
  39. scanf("%c",&caracter);
  40.  
  41. caracterConvertido = cifrar(desplazamiento,caracter);
  42. printf("%c",caracterConvertido);
  43. fflush(stdout);
  44. if((caracter<='A')||(caracter>='Z')){
  45. printf("Error en los caracteres introducidos");
  46. fflush(stdout);
  47. }
  48. }while(((caracter>='A')&&(caracter<='Z'))||(caracter !='\n'));
  49.  
  50. printf("*** El texto cifrado es (entre flechas): -->");
  51. fflush(stdout);
  52.  
  53. printf("<-- ***\n");
  54. fflush(stdout);
  55.  
  56. printf("Fin del programa");
  57. fflush(stdout);
  58.  
  59. }
  60. if(respuesta==1){
  61. //descifrar();
  62. }
  63. return 0;
  64. }
  65. char cifrar(int desplazamiento, char caracter){
  66.  
  67. char caracterConvertido;
  68.  
  69. caracterConvertido=caracter + desplazamiento;
  70.  
  71. return caracterConvertido;
  72. }
  73.  
14  Seguridad Informática / Wireless en Windows / modo monitos intel 6235 en: 20 Marzo 2013, 12:22 pm
Hola tengo un ultrabook con esta tarjeta de red y no encuentro los driverrs para commosview for wifi alguien sabe que tengo que hacer, soy muy novato en esto, como se ddscifran las claves de cualquier router?
15  Programación / Programación C/C++ / calcular la media movil de las ultimas 2 cifras introducidas en c en: 17 Noviembre 2012, 19:20 pm
Hola, tengo que hacer un programa que calcule la media aritmetica de los dos ultimos valores introducidos por teclado pero no se que tengo que hacer por que al definir las variables me hago un lio ej:
primer valor 10, media 10
segundo valor 2, media 6
tercer valor 6, media 4
y asi sucesivamente alguien sabe que debo de hacer?
16  Programación / Programación C/C++ / AYUDA URGENTE EN C, calcular centros numericos en: 21 Octubre 2012, 22:05 pm
hola, necesito hacer un programa que me calcule centros numericos y no tengo ni idea de como comenzar , se tiene que meter el orden del centro numerico y nos tiene que decir cuanto vale, por ejemple el centro numerico 1 es igual a 6, y asi con todos
17  Programación / Programación C/C++ / crear un programa que haga triangulos y cuadrados con caracteres de relleno en: 19 Octubre 2012, 16:40 pm
hola, tengo que hacer esto:
Diseñar y codificar en C un programa que dibuje figuras geométricas en la pantalla (salida estándar) de acuerdo a las siguientes especificaciones:
 El programa inicialmente solicitará por el teclado (entrada estándar) los siguientes datos:
o Número de filas de la figura a dibujar (entre 1 y 15).
o Desplazamiento respecto al comienzo de la pantalla del vértice inferior izquierdo de la figura.
o Carácter que se usará para rellenar la figura.
 Tras pedir los datos anteriores, el programa dibujará la figura solicitada teniendo en cuenta lo siguiente:
o Si el carácter que se usará para rellenar la figura es un dígito numérico, se dibujará un triángulo. Con cualquier otro carácter se dibujará un cuadrado.
o Una vez dibujada una figura, el programa preguntará si dibujar otra o no. Si la respuesta es afirmativa, volverá a empezar un nuevo proceso de dibujo pidiendo nuevos datos. Si la respuesta es negativa, el programa finalizará su ejecución.

el problema es que lo he he hecho pero no hace nada:

#include<stdio.h>
int main(void){


   /*variables*/
   int numero;
   int fila;
   int columna;
   int espacio;
   int blanco;
   char caracter;
   char sino;

   /*entorno*/
   printf("Introduce numero de filas (1-15):");
   scanf("%d",&numero);
   printf("numero de espacios:");
   scanf("%d",&espacio);
   printf("caracter de relleno:");
   scanf("%c",&caracter);
   if((caracter>='0')&&(caracter<='9')){

      for(fila=1;fila<=numero;fila++){
         for(columna=1;columna<=numero-fila+espacio;columna++){

         printf(" ");
      }
      }
      for(columna=1; columna<=2*numero-1; columna++){
         printf("%c",caracter);
      }
      printf("\n");
   }else{
      for(fila=1;fila<=fila;fila++){
         for(blanco=1;blanco<=fila-fila+espacio;blanco++){
            printf(" ");
      }
      }
      for(fila=1;fila<=fila;fila++){
         for(columna=1;columna<=fila;columna++){
         printf("%c",caracter);
      }
         printf("\n");
   }
   }


   printf("otra figura(Ss/Nn):");
   scanf("%c",&sino);

      if(sino ='s'||'S'){
         printf("Introduce numero de filas (1-15):");
         scanf("%d",&fila);
         printf("numero de espacios:");
         scanf("%d",&espacio);
         printf("caracter de relleno:");
         scanf("%c",&caracter);
         if((caracter>='0')&&(caracter<='9')){

               for(fila=1;fila<=numero;fila++){
                  for(columna=1;columna<=numero-fila+espacio;columna++){

                  printf(" ");
               }
               }
               for(columna=1; columna<=2*numero-1; columna++){
                  printf("%c",caracter);
               }
               printf("\n");
            }else{
               for(fila=1;fila<=fila;fila++){
                  for(blanco=1;blanco<=fila-fila+espacio;blanco++){
                     printf(" ");
               }
               }
               for(fila=1;fila<=fila;fila++){
                  for(columna=1;columna<=fila;columna++){
                  printf("%c",caracter);
               }
                  printf("\n");
            }
            }
      }else{

      }

      printf("muchas gracias por utilizar el programa");

   return 0;
}


18  Programación / Programación C/C++ / ayuda con un programa de c en eclipse en: 19 Octubre 2012, 15:44 pm
HOla, tengo que hacer esto: Diseñar y codificar en C un programa que lea por el teclado (entrada estándar) una secuencia de caracteres terminada en ‘.’ (punto), donde el punto no pertenece a la secuencia, y escriba por la pantalla (salida estándar) el número de apariciones en la serie de cada una de las vocales (mayúsculas o minúsculas) y el número de caracteres que no son vocales. Las vocales acentuadas se no se considerarán como vocales en este ejercicio.
#include <stdio.h>
int main(void){
   /*variable*/
   char letra;
   int cona;
   int cone;
   int coni;
   int cono;
   int conu;
   int otrocarac;
   int contadorvoc;

   cona = 0;
   cone = 0;
   coni = 0;
   cono = 0;
   conu = 0;

   otrocarac = 0;
   contadorvoc = 0;

   /*acciones*/
   printf("Introduzca frase:");
   scanf ("%c", &letra);
   while (letra!='.'){
      switch (letra){
         case 'a':
         case 'A':
            cona++;
            break;
         case 'e':
         case 'E':
            cone++;
            break;
         case 'i':
         case 'I':
            coni++;
            break;
         case 'o':
         case 'O':
            cono++;
             break;
          case 'u':
          case 'U':
             conu++;
             break;
          default :
             otrocarac++;
             break;
         }
      contadorvoc = cona+cone+coni+cono+conu;
      }


   printf ("\nEl numero de caracteres que no son vocales es:%d",otrocarac);
   printf ("\nEl numero de vocales es:%d", contadorvoc);
   printf ("\n%d son aes", cona);
   printf ("\n%d son es", cone);
   printf ("\n%d son ies", coni);
   printf ("\n%d son oes", cono);
   printf ("\n%d son ues", conu);

   return 0;
}
lo he hecho pero el problema es que se queda pillado el programa y no se que hacer. Gracias de antemano
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines