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


 


Tema destacado: Página de elhacker.net en Google+ Google+


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8
1  Programación / Programación C/C++ / Re: problema con un arreglo :c en: 22 Abril 2018, 04:44
tu método de ordenamiento esta mal implementado

Código
  1. void ordenar(){
  2.    for(j = 0; j <4; j++){
  3.        for(i = 0; i < 4-j; i++){
  4.    if(v[i] > v[i+1]){
  5.        aux = v[i+1];
  6. v[i+1] = v[i];
  7. v[i] = aux;
  8.    }
  9.        }
  10.    }
  11. }
  12.  
2  Programación / Programación C/C++ / Re: invertir el número entero en: 21 Abril 2018, 04:17
este es el método que yo he utilizado

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int eleva10(int expo);
  5.  
  6. int main(int argc, char *argv[]) {
  7. int num, aux, digitos, i;
  8. int* inverso = NULL;
  9.  
  10. aux = 1;
  11. digitos = 1;
  12.  
  13. fprintf(stdout, "introduzca un numero: ");
  14. fscanf(stdin, "%d", &num);
  15.  
  16. while((aux*=10) < num) digitos++;
  17. inverso = (int*) malloc(digitos*sizeof(int));
  18.  
  19. aux = num;
  20. for(i=digitos; i>0; i--){
  21. inverso[i-1] = aux/eleva10(i);
  22. aux %= eleva10(i);
  23. }
  24.  
  25. for(i=0; i<digitos; i++){
  26. fprintf(stdout, "%d", inverso[i]);
  27. }
  28.  
  29. return 0;
  30. }
  31.  
  32. int eleva10(int expo){
  33. int ret = 1;
  34. if(expo == ret) return ret;
  35. for(int i=0; i<expo-1; i++) ret *= 10;
  36. return ret;
  37. }
  38.  

he creado la función int eleva10(int expo)porque la pow no me funciona bien XD
3  Programación / Programación C/C++ / Re: invertir el número entero en: 20 Abril 2018, 03:48
la resolución de este problema es sencilla
primero tienes que averiguar la cantidad de dígitos que tiene el numero ingresado

Código:
num = numero ingresado por el usuario;
digitos = 0;
aux = 1;

mientras aux < num hacer:
    digitos = digitos + 1;
    aux = aux * 10;
con esto obtenemos la cantidad de dígitos que tiene el numero
ahora hay que voltear el numero para ello tenemos que descomponer el numero
Código:
//para el ejemplo usaremos el numero 1234
inverso = 0
parte = num/valor_proposicional //El valor posiciona es el valor que toma un dígito de acuerdo con la posición que ocupa dentro del número (unidades, decenas, centenas…)
/*parte = 1234/1000*/
inverso = inverso + (parte * valor_proposicional) en este caso el valor_proposicional sera la nueva posiciona que le estemos dando
/*inverso = 0 +(1 * 1)*/
y si repetimos el proceso iremos re posicionando los dígitos del numero
pero para ello tenemos que cambiar el valor de nuestro numero

Código:
num = num%valor_proposicional
/* num = 1234%1000
esto nos devolverá 234 que son los números que nos hace falta re posicionar
4  Programación / Programación C/C++ / Re: Posición de un dígito en: 15 Abril 2018, 21:05
por que no tratas el numero como un string (char*) de esa forma podras recorrer sus posición  para saber que dígito ocupa que posición
de este modo

Código
  1. #include<stdio.h>
  2.  
  3. int main () {
  4. char numero[15];
  5. int pos = 0;
  6.  
  7. fprintf(stdout, "introduzca un digito: ");
  8. scanf("%s", numero);
  9. fprintf(stdout, "ntrodusca una posicion: ");
  10. scanf("%d", &pos);
  11.  
  12. fprintf(stdout, "%dth digito de %s es %c.\n", pos, numero, numero[pos-1]);
  13.  
  14. return 0;
  15. }
  16.  

5  Programación / Programación C/C++ / Re: Posición de un dígito en: 15 Abril 2018, 20:42
pon tu código
6  Programación / Programación C/C++ / Re: ayuda con las cadenas en: 15 Abril 2018, 03:22
cuando llamas a la funcion le pasas 3 parametros cundo esta solo admite 2
strcpy(personaconD,numpe,personas.nombre);
el numpe esta de mas
7  Programación / Programación C/C++ / Re: ayuda con las cadenas en: 15 Abril 2018, 00:24
la función que te a propuesto MAFUS es una función creada por el, lo único que tiene el nombre de una función ya conocida, pero si pones esa función en tu código y quitas el include de <string.h> te funcionara conmo quieres, pero como ya dijo el
Citar
ésta no tiene protección contra desbordamiento de buffer
eso tendras que arreglarlo
8  Programación / Programación C/C++ / Re: ayuda con las cadenas en: 14 Abril 2018, 20:30
con la función
int sprintf(char *str, const char *format, ...)
de la biblioteca <stdio.h>
puedes copiar un string con formato a un char*
9  Programación / Programación C/C++ / Re: Consulta sobre programa C en: 14 Abril 2018, 17:32
yo he encontrado mas de una

Código
  1. int main()
  2. {
  3. char periodo[50];
  4. char pintor[50];
  5. char nacion[50];
  6.  
  7. printf("Ingrese periodo: ");
  8. scanf("%s", periodo);
  9.  
  10.  
  11. if ((strcmp (periodo, "Prehistorico")==0) || (strcmp(periodo, "egipcio")==0)){
  12. printf("Galeria 1 \n");
  13. }      
  14.  
  15. else if ((strcmp(periodo, "renacimiento")==0)){
  16. //{ <-- aqui
  17. printf("Ingrese nombre del pintor: ");
  18. scanf("%s", pintor);
  19. }
  20. if ((strcmp (pintor, "Leonardo")==0) || (strcmp(pintor, "Michelangelo")==0)){
  21.  
  22. printf ("Galeria 2 \n");
  23. }  
  24. else if (strcmp(pintor, "Rafael")==0){
  25. printf ("Galeria 3");
  26. }  
  27. else if ((strcmp (pintor, "Tiziano")==0) || (strcmp(pintor, "Boticelli")==0)){
  28. printf("Galeria 4");
  29. }  
  30. else if ((strcmp (pintor, "Greco")==0) || (strcmp(pintor, "Tintoretto")==0)){printf("Galeria 5a");
  31. }
  32. else if (strcmp(pintor, "Bellini")==0){
  33. printf("Galeria 5b");
  34. }  
  35. else {
  36. printf("No hay obras de este pintor \n");
  37. }
  38. }
  39. if ((strcmp (periodo, "barroco")==0)){
  40. //{ <-- aqui
  41. printf("Ingrese nacion: ");
  42. scanf("%s", nacion);
  43. }        
  44.  
  45. if ((strcmp (nacion, "Espana")==0)){
  46. printf("Galeria 6, Velzaquez y Murillo");
  47. }
  48.  
  49. else if ((strcmp(nacion, "Italia")==0)){
  50. printf("Galeria 7, Caravaggio");
  51.  
  52. }
  53. else {
  54. printf("No hay obras de esta nacionalidad");
  55. }
  56. //} <-- aqui
  57. else if ((strcmp(periodo, "expresionismo")==0)){
  58. printf("Galeria 8, Kandiski");
  59. }      
  60. if ((strcmp(periodo, "impresionismo")==0)){
  61. printf("Galeria 8, Van Gogh");
  62. }
  63. else if ((strcmp(periodo, "fauvismo")==0)){
  64. printf("Galeria 8, Manguin");
  65. }
  66. if ((strcmp(periodo, "cubismo")==0)){
  67. printf("Galeria 9, Picasso");
  68. }
  69. else if ((strcmp(periodo, "surrealismo")==0)){
  70. //{ <-- aqui
  71. printf("Ingrese pintor: ");
  72. scanf("%s", pintor);
  73. }
  74. if ((strcmp(pintor, "Dali")==0)){
  75. printf("Galeria 10");
  76. }
  77. else if ((strcmp(pintor, "Miro")==0)){
  78. printf("Galeria 11");
  79. }
  80. else{
  81. printf("No hay obras de este pintor");
  82.  
  83. }
  84. //} <-- aqui
  85. else if ((strcmp(periodo, "informalismo")==0) || (strcmp(periodo, "hiperralismo")==0)){
  86. printf("Galeria 12");
  87. }
  88. else {
  89. printf("No hay obras en este periodo");
  90. }
  91.  
  92.  
  93. return 0;
  94.  
  95. }
  96.  

te has echo un lio con los corchetes
10  Programación / Programación C/C++ / Re: No me ejecuta el printf en: 13 Abril 2018, 17:34
eso es porque solo capturas el nombre del pintor pero no le dices que hacer con el despues
Código
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. int main(){
  5. char periodo[50];
  6. char pintor[50];
  7. char nacion[50];
  8.  
  9. printf("Ingrese periodo: ");
  10. scanf("%s", periodo);
  11.  
  12. if ((strcmp (periodo, "Prehistorico")==0) || (strcmp(periodo, "egipcio")==0)){
  13. printf("Galeria 1 \n");
  14. }else if ((strcmp(periodo, "renacimiento")==0)){
  15. printf("Ingrese nombre del pintor: ");
  16. scanf("%s", pintor);
  17. /*a qui solo capturas el nombre despues de capturarlo sale de todos los else if
  18.  sin pasar por ningun otro*/
  19. }else if ((strcmp (pintor, "Leonardo")==0) || (strcmp(pintor, "Michelangelo")==0)){
  20. printf ("Galeria 2 \n");
  21. }else if (strcmp(pintor, "Rafael")==0){
  22. printf ("Galeria 3");
  23. }else if ((strcmp (pintor, "Tiziano")==0) || (strcmp(pintor, "Boticelli")==0)){
  24. printf("Galeria 4");
  25. }else if ((strcmp (pintor, "Greco")==0) || (strcmp(pintor, "Tintoretto")==0)){
  26. printf("Galeria 5a");
  27. }else if (strcmp(pintor, "Bellini")==0){
  28. printf("Galeria 5b");
  29. }else {
  30. printf("No hay obras de este pintor");
  31. }
  32.  
  33. return 0;
  34. }
  35.  
Páginas: [1] 2 3 4 5 6 7 8
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines