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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 ... 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 [115] 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 ... 132
1141  Programación / Programación C/C++ / Re: Programa que imprima los 1000 primeros numeros primos en: 24 Noviembre 2012, 22:29 pm
A la vista del código que pones en el post "Programa con funciones en función de una opción" salta a la vista que más bien parece una falta de fe en ti mismo o que te has bloqueado. Así que ahí va una posible solución a tu problema, calcula los N primos indicados guardándolos en un array como pedias:
Código
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main()
  4. {
  5.    int i,j=0,N,primos[1001];
  6.    printf ("Introduzca un numero:");
  7.    scanf ("%d",&N);
  8.    for (i=0;j<N;i++){
  9.        if (esPrimo(i)!=0) {
  10.            primos[j]=i;
  11.            j++;
  12.        }
  13.    }
  14.    for (i=0;i<N;i++)
  15.        printf ("%d   ",primos[i]);
  16.    return 0;
  17. }
  18. int esPrimo(int n)
  19. {
  20. int rq ,i;
  21. rq = (int) sqrt (n);
  22. for ( i = 2; i <= rq; i++)
  23. {
  24. if (fmod(n,i) == 0)
  25. return 0;
  26. }
  27. return n;
  28. }
Saluditos!.
1142  Programación / Programación C/C++ / Re: Programa con funciones en funcion de una opcion en: 24 Noviembre 2012, 22:25 pm
Cambié y sigue sin salirme, me sale un numero enorme que no es ni de lejos el resultado real :
¿Has probado a inicializar suma?, es decir:
Código
  1. int suma=0;
Si no lo haces la variable suma toma inicialmente un valor basura.
Saluditos!. ... y mira los mensajes que te llegan.
P.D: Cuando vayas a poner un código, previamente te vas a donde pone GesHi y elijes C++, y en medio de las etiquetas que aparecen  pegas tu código.
Saluditos!.
1143  Programación / Programación C/C++ / Re: [C] [?] Problemas con suma de polinomios en: 24 Noviembre 2012, 16:54 pm
Sólo una chorrada, cuando al if  o else o while o ... sólo le sigue una instrucción no hace falta "envolverlas" con las llaves {}:
Código
  1. if((polin_n[i]+polin_m[i])!=0)
  2.                printf(" %+g%s\n", polin_n[i]+polin_m[i], x[i-1]);
  3.            else
  4.                printf("\n");
Citar
Y por cierto, al usar las etiquetas GesHi usa las de C++ ya que así el código sale coloreado y es más fácil seguirlo.
Saluditos!.
1144  Programación / Programación C/C++ / Re: [C] [?] Problemas con suma de polinomios en: 24 Noviembre 2012, 15:24 pm
Citar
Tienes un incremento de más cuando el último sumando es cero:
Código
  1. #include <stdio.h>
  2. int main(void){
  3. int n, m, i;
  4. float polin_n[10]={0}, polin_m[10]={0};
  5. char x[9][4]={{"x"},{"x^2"},{"x^3"},{"x^4"},{"x^5"},{"x^6"},{"x^7"},{"x^8"},{"x^9"}};
  6. do{ /*introduccion de datos*/
  7. printf("introducir el grado de p(x): ");
  8. scanf("%d", &n);
  9. }while(n<0 || n>10);
  10. for(i=0; i<=n; i++){
  11. scanf("%f", &polin_n[i]);
  12. }
  13. do{
  14. printf("introducir el grado de q(x): ");
  15. scanf("%d", &m);
  16. }while(m<0 || m>10);
  17. for(i=0; i<=m; i++){
  18. scanf("%f", &polin_m[i]);
  19. }
  20. if(polin_n[0]!=0){ /*imprimir el primer polinomio*/
  21. printf("\np(x) %+g", polin_n[0]);
  22. i=1;
  23. }else{
  24. i=0;
  25. }
  26. for(i=i; i<=n; i++){
  27. while(polin_n[i]==0) i++;
  28. printf(" %+g%s", polin_n[i], x[i-1]);
  29. }
  30. if(polin_m[0]!=0){ /*imprimir el segundo polinomio*/
  31. printf("\nq(x) %+g", polin_m[0]);
  32. i=1;
  33. }else{
  34. i=0;
  35. }
  36. for(i=i; i<=m; i++){
  37. while(polin_m[i]==0) i++;
  38. printf(" %+g%s", polin_m[i], x[i-1]);
  39. }
  40. if(m>n) n=m; /*imprimir la suma del los polinomios*/
  41. printf("\n\nsuma: %+g", polin_n[0]+polin_m[0]);
  42. for(i=1; i<=n; i++){
  43.  
  44. while((polin_n[i]+polin_m[i])==0 && i<n) i++;/* <==aqui el i<n */
  45.            printf(" %+g%s", polin_n[i]+polin_m[i], x[i-1]);
  46.             }
  47. printf("\n");
  48. return 0;
  49. }
  50.  
Saluditos!.
1145  Programación / Programación C/C++ / Re: PROBLEMA DE LOS DOS CUERPOS en: 23 Noviembre 2012, 17:16 pm
En las expresiones:
Código
  1. X1[i+1]=X1+(vx1*dt);
  2. .........
  3. .........
  4. Y1[i+1]=Y1+(vy1*dt);
que te dan la posición hay aceleración, tanto en OX como en OY y veo que usas las expresiones: x=x0+vx*t .....¿ y no faltaría: +1/2ax*t^2?. Idem para la y.
1146  Programación / Programación C/C++ / Re: Ayuda, programa para calcular el valor de las resistencias y su color en C en: 22 Noviembre 2012, 23:07 pm
PARECE QUE IMPRIME UN CARÁCTER MÁS EN COLOR, sólo había que quitar las librerias y cambiar codigo_colores a main, no he tocado nada más:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5.  
  6.  
  7.  
  8. void color_numero();
  9. void numero_color();
  10.  
  11.  
  12. int main(){
  13. int opcion;
  14.  
  15. printf("1.-Ingresar colores y mostrar valor de resistencia\n2.-Ingresar valor de resistencia y mostrar colores\n");
  16. scanf("%d",&opcion);
  17.  
  18. switch(opcion){
  19. case 1:
  20. color_numero();
  21. break;
  22.  
  23. case 2:
  24. numero_color();
  25. break;
  26.  
  27.  
  28. default:
  29. printf("Opcion no valida\n");
  30. break;
  31. }
  32.  
  33. }
  34.  
  35. void color_numero(){
  36. char colores[3];
  37. int valor;
  38. printf("N=negro\nM=marron\nR=rojo\nn=naranja\nA=am arillo\nV=verde\na=azul\nv=vilotA\nG=gris\nB=blanc o\n");
  39. printf("Ingresa las inicales de los colores de las resistencias: \n");
  40. scanf("%s",colores);
  41. //evaluamos el primer elemento del arreglo comparandolo con las letras que representan cada color
  42. switch(colores[0]){
  43. case 'N':
  44. valor=0;
  45. break;
  46. case 'M':
  47. valor=10;
  48. break;
  49. case 'R':
  50. valor=20;
  51. break;
  52. case 'n':
  53. valor=30;
  54. break;
  55. case 'A':
  56. valor=40;
  57. break;
  58. case 'V':
  59. valor=50;
  60. break;
  61. case 'a':
  62. valor=60;
  63. break;
  64. case 'v':
  65. valor=70;
  66. break;
  67. case 'G':
  68. valor=80;
  69. break;
  70. case 'B':
  71. valor=90;
  72. break;
  73. default:
  74. printf("Opcion invalida");
  75. break;
  76.  
  77.  
  78.  
  79.  
  80. }
  81. //evaluamos el segundo elemento
  82. switch(colores[1]){
  83. case 'N':
  84. valor+=0;
  85. break;
  86. case 'M':
  87. valor+=1;
  88. break;
  89. case 'R':
  90. valor+=2;
  91. break;
  92. case 'n':
  93. valor+=3;
  94. break;
  95. case 'A':
  96. valor+=4;
  97. break;
  98. case 'V':
  99. valor+=5;
  100. break;
  101. case 'a':
  102. valor+=6;
  103. break;
  104. case 'v':
  105. valor+=7;
  106. break;
  107. case 'G':
  108. valor+=8;
  109. break;
  110. case 'B':
  111. valor+=9;
  112. break;
  113. default:
  114. printf("Opcion invalida");
  115. break;
  116. }
  117. //evaluamos el tercer elemento que es el multiplicador
  118. switch(colores[2]){
  119. case 'N':
  120. valor*=1;
  121. break;
  122. case 'M':
  123. valor*=10;
  124. break;
  125. case 'R':
  126. valor*=100;
  127. break;
  128. case 'n':
  129. valor*=1000;
  130. break;
  131. case 'A':
  132. valor*=10000;
  133. break;
  134. case 'V':
  135. valor*=100000;
  136. break;
  137. case 'a':
  138. valor*=1000000;
  139. break;
  140.  
  141. default:
  142. printf("Opcion invalida");
  143. break;
  144.  
  145.  
  146. }
  147. //se imprime el valor
  148. printf("El valor de la resistencia es: %d Ohms\n",valor);
  149.  
  150.  
  151.  
  152.  
  153. }
  154.  
  155.  
  156.  
  157. void numero_color(){
  158. char color[3];//arreglo donde se iran guardando los colores
  159. int valor,b1,b2,multiplicador;//variables donde se guardaran los valores de las bandas y el valor total de la resistencia
  160. printf("Ingresa el valor de la resistencia en Ohms:");
  161. scanf("%d",&valor);
  162. for(multiplicador=1;valor>=100;multiplicador++){
  163. valor=valor/10;
  164.  
  165. }
  166.  
  167. b1=valor/10;
  168. b2=(valor-(10*b1));
  169. printf("%d %d\n",b1,b2);
  170. switch(b1){//aqui se busca el color de la banda 1
  171.  
  172. case 1:
  173. color[0]='M';
  174. break;
  175.  
  176. case 2:
  177. color[0]='R';
  178. break;
  179.  
  180. case 3:
  181. color[0]='n';
  182. break;
  183.  
  184. case 4:
  185. color[0]='A';
  186. break;
  187.  
  188. case 5:
  189. color[0]='V';
  190. break;
  191.  
  192. case 6:
  193. color[0]='a';
  194. break;
  195.  
  196. case 7:
  197. color[0]='v';
  198. break;
  199. case 8:
  200. color[0]='G';
  201. break;
  202.  
  203. case 9:
  204. color[0]='B';
  205. break;
  206.  
  207. default:
  208. printf("Opcion invalida");
  209. break;
  210. }
  211. switch(b2){//aqui se busca el color de la banda 2
  212. case 0:
  213. color[1]='N';
  214. break;
  215.  
  216. case 1:
  217. color[1]='M';
  218. break;
  219.  
  220. case 2:
  221. color[1]='R';
  222. break;
  223.  
  224. case 3:
  225. color[1]='n';
  226. break;
  227.  
  228. case 4:
  229. color[1]='A';
  230. break;
  231.  
  232. case 5:
  233. color[1]='V';
  234. break;
  235.  
  236. case 6:
  237. color[1]='a';
  238. break;
  239.  
  240. case 7:
  241. color[1]='v';
  242. break;
  243. case 8:
  244. color[1]='G';
  245. break;
  246.  
  247. case 9:
  248. color[1]='B';
  249. break;
  250.  
  251. default:
  252. printf("Opcion invalida");
  253. break;
  254. }
  255.  
  256. switch(multiplicador){//aqui se busca el color de la banda multiplicadora
  257. case 1:
  258. color[2]='N';
  259. break;
  260.  
  261. case 2:
  262. color[2]='M';
  263. break;
  264.  
  265. case 3:
  266. color[2]='R';
  267. break;
  268.  
  269. case 4:
  270. color[2]='n';
  271. break;
  272.  
  273. case 5:
  274. color[2]='A';
  275. break;
  276.  
  277. case 6:
  278. color[2]='V';
  279. break;
  280.  
  281. case 7:
  282. color[2]='a';
  283. break;
  284.  
  285.  
  286. default:
  287. printf("Opcion invalida");
  288. break;
  289. }
  290.  
  291.  
  292. printf("Los colores correspondientes a este valor son: \n%s\n",color);
  293. printf("\tTabla de colores:\nN=negro\nM=marron\nR=rojo\nn=naranja\nA= amarillo\nV=verde\na=azul\nv=vilotA\nG=gris\nB=bla nco\n");
  294. }
Saluditos!.
1147  Programación / Programación C/C++ / Re: ayuda por favor en c++ en: 22 Noviembre 2012, 13:39 pm
necesito ayuda con este ejercicio,,, yo lo hice pero me falta terminarlo,, y lo que me falta es encontrar los que estan en A y no en B y viceversa
Citar
Te pongo un ejemplo con dos arrays a y b y elimino los de a que estan en b y los guardo en a1. Análogamente sería para los de b que no esten en a. Eso sí, supongo que no hay repetidos en los arrays, si no fuera así habría que eliminar los repe de a1 y b1:
Código
  1. #include <stdio.h>
  2. #define N   5
  3. int main()
  4. {
  5.    int i,j,k=0,a[N]={1,2,3,4,5},b[N]={3,4,5,6,7},a1[N],b1[N];
  6.    for (i=0;i<N;i++){
  7.        for (j=0;j<N;j++){
  8.        if (a[i]==b[j])
  9.               a[i]=0;
  10.        }
  11.    }
  12.    for (i=0;i<N;i++){
  13.        if (a[i]!=0){
  14.        printf ("%d  ",a[i]);
  15.        a1[k]=a[i];k++; /*<== guardo en nuevo array los de a no estan en b*/
  16.        }
  17.    }
  18.    puts ("\n");
  19.    for (i=0;i<k;i++)
  20.         printf ("%d  ",a1[i]);
  21.    return 0;
  22. }
Saluditos!.
1148  Programación / Programación C/C++ / Re: ayuda en c en: 21 Noviembre 2012, 20:33 pm
Citar
No te cortes y cuelga "tu" codigo. Con eso ya se vé que te lo estas currando y se te ayudará.
Saluditos!.
1149  Programación / Programación C/C++ / Re: como hacer un programa que imprima los numeros que no estan dentro de una rango en: 21 Noviembre 2012, 13:36 pm
Código
  1. #include <stdio.h>
  2.  
  3.  
  4. int  isInRange(int n,int limiteInferior,int limiteSuperior){
  5. if( n >= limiteInferior || n <= limiteSuperior){
  6. return TRUE;
  7. }else{
  8. return FALSE;
  9. }
  10. }
  11. }
Citar
Tiene el problema de que el 14 o cualquier otro numero que se repita, se repetirá en la respuesta.
Saluditos!.
1150  Programación / Programación C/C++ / Re: como hacer un programa que imprima los numeros que no estan dentro de una rango en: 20 Noviembre 2012, 21:09 pm
como puedo hacer un programa en C que dados N numeros proporcionados por el usuario imprima los que no se no se encuentren dentro de un rango igualmento proporcionado por el usuario.

por ejemplo el usuario introducirá:

N números:  4, 8, 10 , 14, 16, 15, 14
limite inf:   0
limite sup:  10

entonces el programa imprimirá los números que no se encuentren dentro del 0 al 10

regresara:  14, 16, 15  (sin imprimir números previamente leídos)
Citar
Vamos que te hagan toda la tarea!!!!.No aportas nada ! ! !
Pero como no somos malos, para que te hagas una idea de por donde pueden ir los tiros -es una opción, las hay .....- :
Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define N   8
  4.  
  5. int main()
  6. {
  7.    int num[N]={4,8,10,14,16,15,14,9},i=0,j=0,k,aux[8],num1[8],n=0;
  8.    for (i=0;i<=N;i++)
  9.        if (num[i]<0 || num[i]>10) {aux[j]=num[i];j++;}
  10.    for( i = 0; i < j; ++i ){
  11.            for( k = 0; k < n && num1[k] != aux[i]; ++k ) ;
  12.            if( k >= n ){
  13.                    num1[n] = aux[i];
  14.                    ++n;
  15.              }
  16.        }
  17.    for (i=0;i<n;i++)  printf("%d  ",num1[i]);
  18.    return 0;
  19. }
Saluditos!.
Páginas: 1 ... 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 [115] 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 ... 132
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines