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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Necesito una ayuda en C++, muchas gracias de antemano.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Necesito una ayuda en C++, muchas gracias de antemano.  (Leído 3,240 veces)
Errene20

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Necesito una ayuda en C++, muchas gracias de antemano.
« en: 11 Noviembre 2014, 00:53 am »

Necesito añadirle al programa que se pueda imprimir en pantalla o en un archivo indicando el número de columnas, esto es lo que tengo yo de momento, si me ayudara alguien se lo agradecería mucho. Este programa es de calcular los primeros N números primos.


#include <iostream>
#include <cstdlib>
#include <math.h>


int main(){
  
  int B=2, C=2, D=0, I=0, E;    
  printf("Hasta que numero quiere que calcule los numeros primos: "); scanf("%d",&E);
    for(B;B<=E;B++){                    
                  C=2;    
                  while((C<=B) && (B%C!=0)){
                               C++;}
                               if(B==C){printf("%6d",C); D++; I++; if(D==10){printf("n");D=0;}}              
  }
printf("Total de numeros primos es de: %d",I);


 system("PAUSE");
    return 0;
}


si tengo algunos fallos decírmelo también, gracias por las molestias.  ;)


« Última modificación: 11 Noviembre 2014, 00:56 am por Errene20 » En línea

Blaster

Desconectado Desconectado

Mensajes: 190


Ver Perfil
Re: Necesito una ayuda en C++, muchas gracias de antemano.
« Respuesta #1 en: 11 Noviembre 2014, 02:25 am »

si tengo algunos fallos decírmelo también, gracias por las molestias.  ;)

Esto mas bien seria una pequeña modificación para obtener mayor eficiencia y rapidez :

Código
  1. for(B = 2; B <= E; B++)
  2. {
  3.    C = 2;
  4.    while (C * C <= B  && B % C != 0) C++;
  5.    if (C * C  > B)
  6.        printf("%6d\n", B);
  7. }

Y respecto a lo que intentas hacer podrías especificar exactamente como quieres imprimirlos

Saludos



« Última modificación: 11 Noviembre 2014, 02:27 am por Blaster » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Necesito una ayuda en C++, muchas gracias de antemano.
« Respuesta #2 en: 11 Noviembre 2014, 02:41 am »

Necesito añadirle al programa que se pueda imprimir en pantalla o en un archivo indicando el número de columnas
Lo primero: cuando publiques código fuente por favor utiliza las etiquetas de código. Estas se agregan mediante el cuadro desplegable con el texto "GeSHi" en la pagina de composición de mensajes, solo tienes que seleccionar ahí el lenguaje (C, C++, etc.).

----

Para imprimir un numero determinado de números por linea lo único que debes hacer es pedir este al usuario mediante scanf, de forma similar a como pides el limite superior a verificar. A continuación dentro del bucle verificas si la variable "D" (evita los nombres en mayúsculas) es igual a ese valor (en este momento comparas contra la literal 10 con lo cual imprimes 10 columnas por linea). Mas o menos así:
Código
  1. puts("Columnas por linea:");
  2. int num_cols;
  3. scanf("%d", &num_cols);
  4.  
  5. // ...
  6.  
  7. if (D == num_cols){
  8.   putchar('\n');
  9.   D = 0;
  10. }

Otros comentarios: el programa se supone que es C++ pero en realidad es C, en el caso de C++ falta incluir el encabezado <cstdio> y hay que cambiar <math.h> por <cmath> y la primera expresión en el bucle "for(B;B<=E;B++) ..." hay que eliminarla ya que no tiene efecto (el valor inicial de esa variable es dos y esta dado en su declaración).

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines