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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 ... 132
411  Programación / Programación C/C++ / Re: [C] Problema con ejercicio en: 26 Febrero 2014, 17:25 pm
Me pongo a ello, buscare unos cuantos ejercicios mas usando switch para ganar soltura  ;-)  ;-)

Y al mismo tiempo ejecuta el código anterior e introduce una letra en lugar de un número y ¡¡¡OHHHhhhh....!!!!, sorpresa, el  programa se mete en un bucle.

Eso se debe a no haber validado o comprobado que lo que se introduce es un número entero o cualquier otra cosa.

Aquí estaremos para lo que necesites  ;).


¡¡¡¡ Saluditos! ..... !!!!


412  Programación / Programación C/C++ / Re: hola a todos y ayuda en: 26 Febrero 2014, 17:20 pm
Para cuando postees el código elige las etiquetas GeSHi y toma la C++ y en medio de las etiquetas Code que aparecen "pegas" tu código. Al no hacerlo de esta manera parte del código no sale correcta, especialmente las matrices.

Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<windows.h>
  4. #include<conio2.h>
  5. int main ()
  6. {
  7.  int h=0,m=0,s=0;
  8.  clrscr();
  9.  textcolor (14);
  10.  for(h=0;h<=24;h++){
  11.    clrscr();
  12.    for(m=0;m<60;m++){
  13.      clrscr();
  14.      for(s=0;s<60;s++) {
  15.        Sleep(1000);
  16.        gotoxy(37,20);
  17.        printf(" %d:%d:%d",h,m,s);
  18.      }
  19.    }
  20.  }
  21.  getch();
  22.  return 0;
  23. }
  24.  

No indicas qué problema tienes, ya que a falta del return de main, recuerda que esta es de tipo int, el código parece hacer lo que quieres, un poco descentrado eso sí.

¡¡¡¡ Saluditos! ..... !!!!


413  Programación / Programación C/C++ / Re: [C] Problema con ejercicio en: 25 Febrero 2014, 19:47 pm
Teniendo en cuenta que ya dmacias ha propuesto un código con la condición en el while, "recompongo" mi propuesta del while(1), esta vez con la condición incorporada al mismo, no quiero que por mi culpa se"revuelva"el patio: :silbar:


Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. float a = 2.98;
  6. float b = 4.50;
  7. float c = 9.98;
  8. float d = 4.49;
  9. float e = 6.87;
  10. int n=0;
  11. int x = 0;
  12. float total=0;
  13. float a2=0,b2=0,c2=0,d2=0,e2=0;
  14.  
  15. do{
  16. printf("Ingrese el codigo de producto: 1-5 (-1 para salir): ");
  17. scanf("%d", &x);
  18. if(x >= 1 && x <= 5){
  19.      printf("Ingrese las unidades vendidas: ");
  20.      scanf("%d", &n);
  21. }
  22. switch (x){
  23. case 1:
  24. a2 += a*n;
  25. break;
  26. case 2:
  27. b2 += b*n;
  28. break;
  29. case 3:
  30. c2 += c*n;
  31. break;
  32. case 4:
  33. d2 += d*n;
  34. break;
  35. case 5:
  36. e2 += e*n;
  37. break;
  38. default:
  39. if (x!=-1)
  40.            printf("Introdujo un codigo erroneo\n");
  41. break;
  42. } /*fin de switch*/
  43. } /*fin de do*/
  44. while (x!=-1); /*condicion de do*/
  45. total = a2+b2+c2+d2+e2;
  46. printf("El total vendido es %1.2f \n", total);
  47. return 0;
  48.  }
  49.  

¡¡¡¡ Saluditos! ..... !!!!



P.D: Juraito, juraito que el código está bien indentado, pero no sé que pasa últimamente que al ponerlo en las Code se "desparrama". :o


414  Programación / Programación C/C++ / Re: [C] Problema con ejercicio en: 25 Febrero 2014, 16:19 pm
......................................................................
No sabía que se podia hacer esto

Código
  1.    if (x==-1)
  2.     break
  3.  

Solo he visto break en switch, lo desconocia.

Y esto no lo entiendo

Código
  1. while (1); /*condicion de do*/
  2.  
Que es lo que valida esa condicion???? supongo que el 1 solo no será??


Provoca un bucle infinito que se rompe desde el "interior" del mismo,  como con el if-break, al cumplirse alguna condición.

¡¡¡¡ Saluditos! ..... !!!!




415  Programación / Programación C/C++ / Re: [C] Problema con ejercicio en: 25 Febrero 2014, 05:55 am

En cualquier caso, inicializando las variables x2 a cero, ya que son sumas parciales,  puedes prescindir perfectamente de las x1 sin más que ir haciendo "a2 += a*n;", etc..

Código
  1. do{
  2.    printf("Ingrese el codigo de producto: 1-5 (-1 para salir): ");
  3.    scanf("%d", &x);
  4.    if (x==-1)
  5.      break;
  6.    else  if(x >= 1 && x <= 5){
  7.      printf("Ingrese las unidades vendidas: ");
  8.      scanf("%d", &n);
  9.      }
  10.      switch (x){
  11. case 1:
  12.      a2 += a*n;
  13.      break;
  14. case 2:
  15. b2 += b*n;
  16. break;
  17. case 3:
  18. c2 += c*n;
  19. break;
  20. case 4:
  21. d2 += d*n;
  22. break;
  23. case 5:
  24. e2 += e*n;
  25. break;
  26.        default:
  27.        printf("Introdujo un codigo erroneo\n");
  28.        break;
  29.    } /*fin de switch*/
  30. } /*fin de do*/
  31. while (1); /*condicion de do*/

¡¡¡¡ Saluditos! ..... !!!!





416  Programación / Programación C/C++ / Re: Funcion recursiva en: 19 Febrero 2014, 19:50 pm
¿Y cómo le hago para que en vez de arrojarme el resultado, me arroje el procedimiento del factorial paso por paso? Es para dar a entender al que ve el resultado en pantalla cómo funciona el factorial de un numero.


Citar
Ingresa un numero del cual desees obtener su factorial: 8

El factorial de 8 es: 8! = 8*7*6*5*4*3*2*1 = 40320
Presione una tecla para continuar . . .


Aporta qué diablos calcula factorial para alguien que no lo sepa:

Código
  1. #include <stdio.h>
  2.  
  3. int factorial(int n) {
  4.  
  5. if(n<=1){
  6.    printf("1");
  7.    return 1;
  8. }
  9.  
  10. else if(n>1){
  11.      printf("%d*",n);
  12.      return n*factorial(n-1);
  13. }
  14. }
  15.  
  16. int main(){
  17. int n;
  18. printf("Ingresa un numero del cual desees obtener su factorial: ");
  19. scanf("%d",&n);
  20. if(n<0){
  21.    printf("El numero ha de ser mayor o igual a cero");
  22.    return 1;
  23. }
  24. printf("\nEl factorial de %d es: %d! = ",n,n);
  25. printf(" = %d\n", factorial(n));
  26. return 0;
  27. }


¡¡¡¡ Saluditos! ..... !!!!



417  Programación / Programación C/C++ / Re: Busqueda de valores con matrices en: 15 Febrero 2014, 15:17 pm
Antes que nada cuando postees código elige las etiquetas GeSHi y toma la C++ y en medio de las etiquetas Code que aparecen "pegas" tu código. Al no hacerlo de esta manera parte del código no sale correcta, especialmente las matrices.
 Este es tu código con etiquetas:


Código
  1. #include <stdio.h>
  2. #define MAXFIL 9
  3. #define MAXCOL 9
  4.  
  5.  
  6. void buscarVerti(int matriz[MAXFIL][MAXCOL],int *puntos){
  7. int contador=1;
  8. int i,j;
  9. for (j=0;j<MAXCOL;j++){
  10. for (i=0;i<7;i++){
  11.        if (matriz [i ][j]==matriz[i+1][j]){
  12.         contador++;
  13.        }
  14.  
  15. else if (matriz [i][j] !=matriz[i+1][j]){
  16. contador=1;
  17. }
  18.  
  19. if (contador==3 && i<7 && (matriz[i+1][j]==matriz[i+2][j])){
  20. printf("\n\n ENCONTRO 4 CARAMELOS EN LA COLUMNA: %d  DESDE LA FILA %d A LA FILA %d \n",j+1,i,i+3);
  21. puntosN1=puntosN1+7;
  22. matriz [i ][j]=1+(rand()%5);
  23.             matriz[i+1][j]=1+(rand()%5);
  24.             matriz[i+2][j]=1+(rand()%5);
  25.             matriz[i+3][j]=1+(rand()%5);
  26. break;
  27.        }
  28.  
  29.        else if (contador==3 && i<8 && (matriz[i][j]==matriz[i+1][j]) ){
  30.                 printf("\n\n ENCONTRO 3 CARAMELOS EN LA COLUMNA: %d  DESDE LA FILA %d A LA FILA %d \n",j+1,i,i+2);
  31.                 puntosN1=puntosN1+5;
  32.                 matriz[ i] [j]=1+(rand()%5);
  33.             matriz[i+1][j]=1+(rand()%5);
  34.             matriz[i+2][j]=1+(rand()%5);
  35. break;
  36. }
  37.  
  38.  
  39. }
  40. }
  41. }
  42.  
  43.  
  44. void buscarHori(int matriz[MAXFIL][MAXCOL],int *puntos){
  45. int contador=1;
  46. int i,j;
  47. for(i=0;i<MAXFIL;i++){
  48. for(j=0;j<7;j++){
  49. if (matriz[i][j]== matriz[i][j+1])
  50.            contador=contador+1;
  51.            puntosN1=puntosN1;
  52.  
  53. if (matriz[i][j]!=matriz[i][j+1])
  54.            contador=1;
  55.            puntosN1=puntosN1;
  56.  
  57.            if (contador==3 && j<7 && (matriz[i][j+1]==matriz[i][j+2])){
  58.             printf("\n\n ENCONTRO 4 CARAMELOS DESDE LA COLUMNA: %d  HASTA LA COLUMNA %d EN LA FILA %d \n",j,j+3,i+1);
  59.             matriz[i][j]=1+(rand()%5);
  60.             matriz[i][j+1]=1+(rand()%5);
  61.             matriz[i][j+2]=1+(rand()%5);
  62.             matriz[i][j+3]=1+(rand()%5);
  63.                puntosN1=puntosN1+7;
  64. break;
  65.            }
  66.  
  67.            if (contador==3 && j<8 && (matriz[i][j]==matriz[i][j+1])){
  68.             printf("\n\n ENCONTRO 3 CARAMELOS DESDE LA COLUMNA: %d  HASTA LA COLUMNA %d EN LA FILA %d \n",j,j+2,i+1);
  69.                puntosN1=puntosN1+5;
  70. matriz[i][j]=1+(rand()%5);
  71.             matriz[i][j+1]=1+(rand()%5);
  72.             matriz[i][j+2]=1+(rand()%5);
  73. break;
  74.            }
  75. }
  76. }
  77. }
  78.  
  79.  
  80.  
  81.  
  82. int main(){
  83. int i,j;
  84. int *puntos=0;
  85. int matriz[MAXFIL][MAXCOL];
  86. for (i=0;i<MAXFIL;i++){
  87.     for(j=0;j<MAXCOL;j++){
  88.          matriz[i][j]=1+rand()%5
  89.           printf("%i",matriz[i][j]);
  90.      }
  91. printf("\n");
  92. }
  93. buscarCaramelosVertical (matriz,puntosN1);
  94. buscarCaramelosHorizontal (matriz,puntosN1);
  95. printf("Ud tiene %i puntos",puntosN1);
  96. }
  97.  

¡¡¡¡ Saluditos! ..... !!!!

:rolleyes: ;) ;) ;) :rolleyes:

P.D: Revisa y corrige un poco el código ya que ni compila.

* Para empezar falta un punto y coma en una línea de main :

Código
  1. matriz[i][j]=1+rand()%5

* Te falta el return de la función main.

*¿ Qué sentido tiene?:

Código
  1. if (contador==3 && j<7 ......

En lugar de usar:

Código
  1. if (contador==3 && j<MAXCOL-2



* Llamas a las funciones con unos nombres y las invocas con otros.

* Tomas como uno de los argumentos de las funciones al invocarlas a la variable puntosN1 que no tienes declarada en main, ni falta que te hace.

Más bien sería:


Código
  1. int main(){
  2.  int i,j;
  3.  int puntos=0;
  4.  int matriz[MAXFIL][MAXCOL];
  5.  for (i=0;i<MAXFIL;i++){
  6.       for(j=0;j<MAXCOL;j++){
  7.            matriz[i][j]=1+rand()%5;
  8.             printf("%i",matriz[i][j]);
  9.        }
  10.  printf("\n");
  11.  }
  12.  buscarHori(matriz,&puntos);
  13.  return 0;
  14. }
  15. ....................................
  16. void buscarHori(int matriz[MAXFIL][MAXCOL],int *puntosN1){
  17. ..........................................
  18.  

Y lo mismo con la otra función.

* ¿Qué sentido tiene:


Código
  1. puntosN1=puntosN1;

Ya sabemos que una variable es igual a si misma.  ;)

*  etc, etc.

Vete arreglando esas cositas y vuelve a postear el avance y especifica de forma concreta qué problemas te surgen.

¡¡¡¡ Saluditos! .....Otra vez !!!!

:rolleyes: ;) ;) ;) :rolleyes:

P.d de P.D: ¿De verdad has hecho tú el código?. Si es así sólo tienes que fijarte un poquito más en lo que pones, porque lo de llamar a las funciones de forma diferente que al invocarlas me parece una pasada de error trivial. ;)
418  Programación / Programación C/C++ / Re: Modulo distinguir letras de numeros en: 15 Febrero 2014, 05:43 am

PD: ¿Cómo hacéis para que el código os salga en colores en el foro?


Elige las etiquetas de C++ en lugar de las de C.

Lo de las opciones ya funciona, aunque creo que te faltan por implementar otras funciones:


Código
  1. #include <iostream>
  2. #include <vector>
  3. #include <fstream>
  4. #include <cstdlib>
  5. #include <cstring>
  6.  
  7. using namespace std;
  8.  
  9. typedef struct
  10. {
  11.  int id; // El identificador de una nueva cancion debe ser igual a idNextSong
  12.  string title;
  13.  string artist;
  14.  string album;
  15.  string genre;
  16.  string url;
  17. } Song;
  18.  
  19. typedef struct
  20. {
  21.  vector<Song> songs;
  22.  int idNextSong;  // Cada vez que se anyada una cancion a la coleccion, incrementar idNextSong
  23. } Collection;
  24.  
  25.  
  26. // Función para inicializar los valores de la colección
  27. Collection createCollection();
  28.  
  29. //rellenar datos cancion
  30. Song demandSong();
  31.  
  32. //comprobar cancion
  33. bool isSongInCollection(const Collection &collection, Song song);
  34.  
  35. //añadir cancion
  36. bool addSong(Collection &collection);
  37.  
  38. //imprimir canciones
  39. void printSong(Song song);
  40.  
  41. //buscar y mostrar canciones
  42. bool showCollection(const Collection &collection);
  43.  
  44. //encontrar ir
  45. int findIdSong(const Collection &collection, int id);
  46.  
  47. //editar la cancion
  48. void editSong(Collection &collection);
  49.  
  50. //borrar la cancion
  51. void deleteSong(Collection &collection);
  52.  
  53. //prueba
  54. bool Comprobarnumero(int numero);
  55.  
  56. // Implementar resto de funciones
  57.  
  58. int main()
  59. {
  60.  Collection collection=createCollection();
  61.  
  62.  
  63.  char opcion[10];
  64.  int longitud=0;
  65.  
  66.    do{
  67.      cout<<"--------------------------------"<<endl;
  68.      cout<<"----------- MiniTunes ----------"<<endl;
  69.      cout<<"--------------------------------"<<endl;
  70.      cout<<"1- Add song"<<endl;
  71.      cout<<"2- Edit song"<<endl;
  72.      cout<<"3- Delete song"<<endl;
  73.      cout<<"4- Show collection"<<endl;
  74.      cout<<"5- Manage playlist"<<endl;
  75.      cout<<"6- Import iTunes JSON data"<<endl;
  76.      cout<<"7- Export playlist to XSPF"<<endl;
  77.      cout<<"8- Save data"<<endl;
  78.      cout<<"9- Load data"<<endl;
  79.      cout<<"0- Play playlist"<<endl;
  80.      cout<<"q- Quit"<<endl;
  81.      cout<<"Option: ";
  82.      cin>>opcion;
  83.      cin.get();
  84.      longitud=strlen(opcion);
  85.      if (longitud>=2 )
  86.        opcion[0]='a';
  87.      if (opcion[0]!='1' && opcion[0]!='2' && opcion[0]!='3' && opcion[0]!='4' &&
  88.          opcion[0]!='5' && opcion[0]!='6' && opcion[0]!='7' && opcion[0]!='8' && opcion[0]!='9' && opcion[0]!='0' && opcion[0]!='q'){
  89. cout<<"Error: Unknown option"<<endl;
  90.      }
  91.      switch (opcion[0]){
  92. case '1':
  93.  addSong(collection);
  94.  break;
  95. case '2': editSong(collection);
  96.  break;
  97. case '3':
  98.  deleteSong(collection);
  99.  break;
  100. case '4':
  101.  showCollection(collection);
  102.  break;
  103.      }
  104.  }while(opcion[0]!='q');
  105.  
  106.  return 0;
  107. }
  108.  
  109. Collection createCollection()
  110. {
  111.  Collection collection;
  112.  collection.idNextSong=1;
  113.  
  114.  return collection;
  115. }
  116.  
  117. Song demandSong(){
  118.  
  119.  Song song;
  120.  
  121.  cout<<"Title: ";
  122.  getline(cin, song.title);
  123.  cout<<"Artist: ";
  124.  getline(cin, song.artist);
  125.  cout<<"Album: ";
  126.  getline(cin, song.album);
  127.  cout<<"Genre: ";
  128.  getline(cin,song.genre);
  129.  cout<<"Url: ";
  130.  getline(cin, song.url);
  131.  
  132.  
  133.  return song;
  134. }
  135.  
  136. bool isSongInCollection(const Collection &collection, Song song){
  137.  
  138.  bool repetida=false;
  139.  unsigned int i;
  140.  
  141.  for(i=0;i<collection.songs.size() && !repetida;i++){
  142.    if(song.title==collection.songs[i].title && collection.songs[i].artist==song.artist){
  143.      repetida=true;
  144.    }
  145.  }
  146.  return repetida;
  147.  
  148. }
  149.  
  150. bool addSong(Collection &collection){
  151.  
  152.  bool repetida;
  153.  
  154.   Song song=demandSong();
  155.  
  156.  
  157.   repetida=isSongInCollection(collection, song);
  158.   if (repetida==true){
  159.     cout<<"The song "<<song.title<<" is already in the collection"<<endl;
  160.   }
  161.   else {
  162.   song.id=collection.idNextSong;
  163.   collection.songs.push_back(song);
  164.     collection.idNextSong++;
  165.   }
  166. return repetida;
  167. }
  168.  
  169. void printSong(Song song){
  170.    cout<<song.id<<" | "<<song.title<<" | "<<song.artist<<" | "<<song.album<<" | "<<song.genre<<endl;
  171. }
  172.  
  173. bool showCollection(const Collection &collection){
  174.  
  175.  string buscado;
  176.  bool encontrado;
  177.  int aux=0;
  178.  
  179.  cout<<"Search: "<<endl;
  180.  getline(cin, buscado);
  181.  
  182.  
  183.    for(unsigned int i=0;i<collection.songs.size();i++){
  184.  
  185.      encontrado=false;
  186.  
  187.      if (collection.songs[i].title.find(buscado)!=string::npos){
  188. encontrado=true;
  189.      }
  190.      else if(collection.songs[i].artist.find(buscado)!=string::npos){
  191. encontrado=true;
  192.      }
  193.      else if(collection.songs[i].album.find(buscado)!=string::npos){
  194. encontrado=true;
  195.      }
  196.      else if(collection.songs[i].genre.find(buscado)!=string::npos){
  197. encontrado=true;
  198.      }
  199.      if (encontrado==true){
  200. printSong(collection.songs[i]);
  201. aux++;
  202. }
  203.    }
  204.  
  205.  if(aux==0){
  206.    cout<<"No results"<<endl;
  207.  }
  208.  
  209. return encontrado;
  210. }
  211.  
  212. int findIdSong(const Collection &collection, int id){
  213.  
  214.  int encontrado=-1;
  215.  
  216.  
  217.   for(unsigned int k=0;k<=collection.songs.size();k++){
  218.   if(id==collection.songs[k].id){
  219.      encontrado=k+1;
  220.      }
  221.   }
  222.  
  223.    return encontrado;
  224. }
  225.  
  226. void editSong(Collection &collection){
  227.  
  228.  int encontrado, eleccion, buscado,aux=0;;
  229.  
  230.   for(unsigned int i=0;i<collection.songs.size();i++){
  231.     printSong(collection.songs[i]);
  232.   }
  233.  char buscado_char[100];
  234.   cout<<"Select song:"<<endl;
  235.   cin>>buscado_char;
  236.   for (int i=0;buscado_char[i];i++){
  237.      aux++;
  238.      if (buscado_char[i]<'0' || buscado_char[i]>'9'){
  239.            break;
  240.        }
  241.    }
  242.    if (strlen(buscado_char)==aux){
  243.  
  244.   buscado=atoi(buscado_char);
  245.   encontrado=findIdSong(collection, buscado);
  246.  
  247.   if(aux==2){
  248. cout<<"Error: Unknown song "<<buscado<<endl;
  249.    }
  250.    else{
  251.      do{
  252.  cout<<"Edit (1-Title, 2-Artist, 3-Album, 4-Genre, 5-Url):"<<endl;
  253.  cin>>eleccion;
  254.  cin.get();
  255.  switch(eleccion){
  256.    case 1:
  257.      cout<<"Title: ";
  258.      getline(cin, collection.songs[buscado-1].title);
  259.      break;
  260.    case 2:
  261.      cout<<"Artist: ";
  262.      getline(cin, collection.songs[buscado-1].artist);
  263.      break;
  264.    case 3:
  265.      cout<<"Album: ";
  266.      getline(cin, collection.songs[buscado-1].album);
  267.      break;
  268.    case 4:
  269.      cout<<"Genre: ";
  270.      getline(cin, collection.songs[buscado-1].genre);
  271.      break;
  272.    case 5:
  273.      cout<<"Url: ";
  274.      getline(cin, collection.songs[buscado-1].url);
  275.      break;
  276.    default: cout<<"Error: Unknow option"<<endl;
  277.    break;
  278.  }
  279.  }while(eleccion!=1 && eleccion!=2 && eleccion!=3 && eleccion!=4 && eleccion!=5);
  280. }
  281.   }
  282.   else{ //si no es un numero mostrar este mensaje de error y vovler a mostrar el menu
  283.     cout<<"No results"<<endl;
  284.   }
  285. }
  286.  
  287.  
  288. void deleteSong(Collection &collection){
  289.  
  290.  int buscado_del, encontrado3=0;
  291.  char sino;
  292.  
  293.    for(unsigned int i=0;i<collection.songs.size();i++){
  294.     printSong(collection.songs[i]);
  295.   }
  296.  
  297.    cout<<"Select song: "<<endl;
  298.    cin>>buscado_del;
  299.  
  300.  
  301.    encontrado3=findIdSong(collection, buscado_del);
  302.    if(encontrado3==-1){
  303.      cout<<"Error: Unknown song "<<buscado_del<<endl;
  304.    }
  305.    else{
  306.      cout<<"Delete "<<collection.songs[buscado_del-1].id<<" | "<<collection.songs[buscado_del-1].title<<" | ";
  307.      cout<<collection.songs[buscado_del-1].artist<<" | "<<collection.songs[buscado_del-1].album<<" | "<<collection.songs[buscado_del-1].genre<<"? (Y/N)"<<endl;
  308.      cin>>sino;
  309.      cin.get();
  310.      if(sino=='N'){
  311. cout<<"Song not deleted"<<endl;
  312.      }
  313.      else{
  314. collection.songs.erase(collection.songs.begin()+buscado_del-1);
  315.      }
  316.    }
  317. }
  318. /**********    FUNCION COMPRUEBA ENTERO   *************/
  319. int comprobar_cadena_como_numero (char cadena[100]){
  320.    for (int i=0;cadena[i];i++){
  321.      if (cadena[i]<'0' || cadena[i]>'9'){
  322.            return 1;
  323.        }
  324.    }
  325.    return 2;
  326. }
  327. /********************************************************/
  328.  

¡¡¡¡ Saluditos! ..... !!!!



419  Programación / Programación C/C++ / Re: modificacion codigo ??? en: 14 Febrero 2014, 21:25 pm

Y si sólo se quieren las diferencias entre líneas sucesivas, tipo:

Citar
  4  5  2 10 14  6
 -6 -4 -4 -5-14-15
  4 -4 -8-10 -6  3
  2  3 11  7 13 -3
  2  4  1  6  7 23
  1  3  3  4 -2-17
 -3  0 -7-16-16 -6
  3  2  5 15 15 17
 -3 -7  0 -6  0  0

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.  int i=0,j=0,k=0,y[2][6];
  7.  FILE* fichero,*fich;
  8.  fichero = fopen("combiLuis0.txt", "r");
  9.  if ((fichero = fopen("combiLuis0.txt", "r")) == NULL){
  10.    perror("combiLuis0.txt");
  11.    return EXIT_FAILURE;
  12.  }
  13.  fich = fopen("CombiDiferanciasLuis01.txt", "w");
  14.  if ((fich = fopen("CombiDiferanciasLuis01.txt", "w")) == NULL){
  15.    perror("CombiDiferanciasLuis01.txt");
  16.    return EXIT_FAILURE;
  17.  }
  18.  i = 0;
  19.  while (fscanf(fichero,"%d %d %d %d %d %d ", &y[i][0], &y[i][1], &y[i][2], &y[i][3], &y[i][4], &y[i][5] )==6){
  20.  
  21.    i++;k++;
  22.    if (i>1){
  23.      printf("\n");
  24.      fprintf(fich,"\n");
  25.      for (j=0;j<6;j++){
  26.        printf ("%3i",y[0][j]-y[1][j]);
  27.        fprintf (fich,"%3i",y[0][j]-y[1][j]);
  28.      }
  29.      for (j=0;j<6;j++)
  30.        y[0][j]=y[1][j];
  31.      i=1;
  32.    }
  33.  }
  34.  fclose(fichero);
  35.  fclose(fich);
  36.  return EXIT_SUCCESS;
  37. }
  38.  

¡¡¡¡ Saluditos! ..... !!!!



420  Programación / Programación C/C++ / Re: Problema Matriz cuadrada con números aleatorios sin repetir en: 14 Febrero 2014, 21:06 pm

Mira que habían respuestas variadas en el hilo que le indiqué.

Posiblemente de ahí sacó la respuesta ya que en el otro foro sólo se le indicó un enlace para rellenar un array unidimensional, no bidimensional como él pedía.

Pero me apunto a la respuesta que le dieron en el sentido de que si consultas algo y lo resuelves no te cuesta nada colgar tu solución en el foro, así a otros usuarios les puede venir bien. Pero está visto que algunos sólo van a lo suyo. :rolleyes: :rolleyes: :rolleyes:

Por eso me ahorro la respuesta a llenar el array con números decimales en lugar de enteros.


¡¡¡¡ Saluditos! ..... !!!!

:rolleyes: ;) ;) ;) :rolleyes:


Páginas: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 ... 132
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines