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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5
11  Programación / Programación C/C++ / Re: Separar numeros en digitos individuales en: 5 Enero 2014, 01:25 am
el truco esta en tener en cuenta que el operador /  toma el cociente de la division (parte entera)  y el % toma el resto.

con esto y lo que te han dicho arriba... lo tienes hecho :)
12  Programación / Programación C/C++ / Re: DUDA - Comparar estructuras dentro de arrays (Quiniela) en: 4 Enero 2014, 22:06 pm
mira a ver que tal esto:

Código
  1. #include <stdio.h>
  2. main (void)
  3.  
  4. {
  5.   struct equipo{
  6.          int victorias; //Cuantas victorias tiene.
  7.          int derrotas; //Posicion en la liga.
  8.          int empates; //Empates dentro de la liga.
  9.   }equipo1,equipo2;
  10.  
  11. otravez:
  12.  
  13.      printf("----Equipo Numero 1----\n");
  14.  
  15.      printf("\n Victorias totales: "); //VICTORIAS
  16.      scanf("%d",&equipo1.victorias);
  17.  
  18.      printf("\n Derrotas totales: "); //DERROTAS
  19.      scanf("%d",&equipo1.derrotas);
  20.  
  21.      printf("\n Empates totales: "); //EMPATES
  22.      scanf("%d",&equipo1.empates);
  23.      printf("\n");
  24.  
  25.  
  26.      printf("----Equipo Numero 2----\n");
  27.  
  28.      printf("\n Victorias totales: "); //VICTORIAS
  29.      scanf("%d",&equipo2.victorias);
  30.  
  31.      printf("\n Derrotas totales: "); //DERROTAS
  32.      scanf("%d",&equipo2.derrotas);
  33.  
  34.      printf("\n Empates totales: "); //EMPATES
  35.      scanf("%d",&equipo2.empates);
  36.      printf("\n");
  37.  
  38.  
  39.      /*ahora comparamos los equipos*/
  40.  
  41. int cont1=0, cont2=0;
  42.  
  43. if(equipo1.victorias>equipo2.victorias) cont1 ++;
  44. else cont2 ++;
  45.  
  46. if(equipo1.empates>equipo2.empates) cont1 ++;
  47. else cont2 ++;
  48.  
  49. if(equipo1.derrotas<equipo2.derrotas) cont1 ++;
  50. else cont2 ++;
  51.  
  52. printf("El equipo1 ha acumulado: %d puntos mientras que el equipo2: %d, por tanto: ",cont1,cont2);
  53.  
  54. if(cont1>cont2)puts("el equipo1 es mejor que  el equipo2.");
  55. if(cont1<cont2)puts("el equipo2 es mejor que el equipo1.");
  56. if(cont1==cont2)puts("son igual de buenos ambos equipos.");
  57.  
  58. cont1=0;
  59.  
  60. puts("\n\n Desea comparar otros equipos diferentes (1 = si / 0 = no)? ");
  61. scanf("%d",&cont1);
  62.  
  63. if(cont1==1) goto otravez;
  64.  
  65. return 0;
  66.  
  67. }
  68.  

PD. lo siento por no indentarlo pero no soy capaz de ello  :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
13  Programación / Programación C/C++ / Re: DUDA - Comparar estructuras dentro de arrays (Quiniela) en: 4 Enero 2014, 21:33 pm
mm a ver, no entiendo exactamente lo que quieres hacer:

 el programa en si lo que hace es comparar 2 equipos con la misma estructura, correcto?.

si este es el caso, no tiene sentido un array de 14 componentes para almacenar los equipos... con 2 te vale y pones una opcion para sobrescribir los campos de las estructuras en caso de querer comparar otros equipos diferentes.

Si por el contrario lo que quieres es comparar mas de 2 equipos, pongamos N equipos, seria necesario un array de N componentes donde guardar cada equipo de tipo structura y cuyos campos tendrias que ir introduciendolos tu para cada equipo con el fin de poder compararlos entre ellos.

Personalmente me parece mucho mas facil de hacerlo de la primera forma si puedes elegir.

14  Programación / Programación C/C++ / Re: Error: undefined reference to WinMain@16 [C] [solucionado] en: 3 Enero 2014, 23:13 pm
jajaja me vas a persiguir hasta que indecte bien el codigo ehhh jajaj

nah enserio, muchas gracias  :silbar:
15  Programación / Programación C/C++ / Re: Error en programa en C en: 3 Enero 2014, 23:11 pm
el problema que yo le veo al codigo de leosansan es que el problema pide explicitamente que las palabras a buscar anagramas sean introducidas por fichero o teclado... podría solucionarse así?

Código
  1. #include <stdio.h>
  2.  
  3.    struct Palabras{
  4.    char letras[10]; //letras de cada palabra, maximo 10 letras
  5.    };
  6.    struct Palabras Tpalabras[6]; //vector con informacion de todas las palabras, maximo 6.
  7.  
  8.    void main(void){
  9.  
  10.    int ch, i, j;
  11.  
  12.    puts("introduzca sus palabras a buscar separadas por espacios y un punto en la ultima para indicar que se han acabado: ");
  13.  
  14.    for(i=0;i<6;i++){
  15.        for(j=0;j<10;j++){
  16.            if(ch=getchar() != '.') break;
  17.            else{
  18.                if(ch=getchar()!= ' ')Tpalabras[i].letras[j]=getchar();
  19.                else continue;
  20.            }
  21.        }
  22.    }
  23.  
  24. .
  25. .
  26. .
  27. .
  28. .
  29.  
  30.  
  31.  

Es solo una idea, usar estructuras para guardar todas las palabras y usar un par de fors para ir guardando cada letra en una casilla de un array para despues comprobar si las palabras del texto pueden ser una permutación de dichas letras.  :huh: :huh: :huh:

es lo unico que se me ha ocurrido
16  Programación / Programación C/C++ / Re: Error: undefined reference to WinMain@16 [C] [solucionado] en: 3 Enero 2014, 21:24 pm
solucionado, ha sido por poner Main con mayuscula.  :-X :-X :-X :-X
17  Programación / Programación C/C++ / Error: undefined reference to WinMain@16 [C] [solucionado] en: 3 Enero 2014, 21:08 pm
Hola buenas, estaba intentado hacer el siguiente programa:



Bien, este es el código:

Código
  1.  
  2. #include <stdio.h>
  3.  
  4. #define N 3
  5. #define M 4
  6.  
  7. void cogollo (int m1[][M], int m2[][M]);
  8.  
  9. int Main(){
  10.  
  11. int m1[N][M], m2[N][M];
  12. int i,j;
  13. int cont=0;
  14.  
  15. puts("introducir componentes por fila de la primera matriz:\n");
  16.  
  17. for(i=0;i<N;i++){
  18.    for(j=0;j<M;j++)
  19.    scanf("%d", &m1[i][j]);
  20. }
  21.  
  22. puts("\nahora introduzca las componentes de la segunda matriz\n");
  23.  
  24. for(i=0;i<N;i++){
  25.    for(j=0;j<M;j++)
  26.    scanf("%d", &m2[i][j]);
  27. }
  28. cogollo(m1, m2);
  29.  
  30. return 0;
  31. }
  32.  
  33. void cogollo (int m1[][M], int m2[][M]){
  34.  
  35. int p, q, cont=0;
  36. int V[N];
  37. for(p=0;p<M;p++){
  38.    for(q=0;q<N;q++){
  39.        if(m1[p][q]==m2[p][q]) cont++;
  40.    }
  41.    if(cont==M) V[q]=1;
  42.        else V[q]=0;
  43.        cont=0;
  44. }
  45. puts("el vector resultante es:\n");
  46.  
  47. for(p=0;p<N;p++){
  48.        printf("%2d", V[p]);
  49.        if(V[p]==1) cont++;
  50. }
  51. if(cont==N) puts("\nel vector tiene todas las componentes iguales, por tanto, todas las filas de la matriz 1 coinciden con las de la matriz 2");
  52. else puts("el vector no tiene todas las componentes iguales");
  53.  
  54. }

Al compilarlo da un error con la descripción del título.

He estado googleando y me he topado con cosas como:
http://foro.elhacker.net/programacion_cc/saludo_de_nuevo_usuario_y_preguntita_facil_sobre_devc-t79550.0.html;msg366634

pero yo no uno c++ y no he tocado nada en el compilador...

decir que solo me pasa al compilar este codigo.

18  Programación / Programación C/C++ / Re: problema con el siguiente codigo [C] en: 3 Enero 2014, 20:18 pm

Eso en un editor de código es seleccionar las líneas y apretar TAB. O bien usar el plugin que indenta el código automaticamente (en el Codeblocks se llama "Source code formatter (AStyle)").

Estás prácticas son prácticamente obligadas para cualquier progamador, de hecho algunos lenguajes (como el python) no tienen llaves y se identifican los bloques con la indentación.

gracias  :)
19  Programación / Programación C/C++ / Re: problema con el siguiente codigo [C] en: 3 Enero 2014, 18:32 pm
En todo caso hasta que se acabe la cadena o frase, es decir hasta \0. Lo otro sería para ficheros, que no es el caso, supongo.

sip jaja exactante, queria hacerlo para sentencias para la entrada estandar y para textos en caso de tratarse de ficheros:

Código
  1. #include <stdio.h>
  2.  
  3. int esVocal (char c);
  4. char sigVocal (char c);
  5.  
  6. int main ()
  7. {
  8. char c;
  9. FILE *fe;
  10. FILE *fs;
  11.  
  12. fe= fopen("C:\entrada.txt", "r");
  13. fs= fopen("C:\salida.txt", "a");
  14.  
  15. if(fe == NULL) puts("error en apertura de fichero");
  16. else {
  17.    while (fscanf(fe,"%c", &c) != EOF)
  18.        if (esVocal(c))
  19.            fprintf(fs,"%c", sigVocal(c));
  20.        else
  21.            fprintf(fs,"%c", c);
  22.  
  23. }
  24.   return 0;
  25. }
  26. int esVocal (char c){
  27.  
  28.  
  29. if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u') return 1;
  30. else return 0;
  31.  
  32. }
  33. char sigVocal (char c){
  34.  
  35. switch(c){
  36. case 'a': c='e'; break;
  37. case 'e': c='i'; break;
  38. case 'i': c='o'; break;
  39. case 'o': c='u'; break;
  40. case 'u': c='a'; break;
  41. }
  42. return (c);
  43. }
  44.  

 ::)
20  Programación / Programación C/C++ / Re: problema con el siguiente codigo [C] en: 3 Enero 2014, 17:41 pm
Bueno yo no se meter los colores, pero lo tabulo jajaja

PD: Un consejo los break, goto, y uso de librerias estilo conio.h evitalos si no son requeridos, lo digo porque si es un ejercicio de universidad o lo que sea, muchas veces te pueden penalizar por eso ;) (ademas de garantizar asi una maxima compatibilidad en todos los OS)

exactamente, de hecho todos mis examenes empiezan asi:



sin embargo por breaks y goto no me penalizan.
Páginas: 1 [2] 3 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines