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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / Re: Funciones int en: 25 Agosto 2015, 05:43 am
Si no entiendes las funciones, menos vas a entender la función principal.
12  Programación / Programación C/C++ / Re: duda con cin.ignore() en: 24 Agosto 2015, 05:02 am
1. Hola, gracias por responder, quisiera saber otras formas?

2. Puedes ser más específico con lo de getline...
13  Programación / Programación C/C++ / Re: Ejercicios en: 24 Agosto 2015, 04:01 am
Es también para la primera. Los dos formas funcionan.
La segunda puedes ir viendo de esta forma:

n=1   1/(1-0)

n=2   1/(2-0) - 2/(2-1)

n=3   1/(3-0) - 2/(3-1) + 3/(3-2)

por ejemplo en caso n=3
tiene una forma de i=1 hasta i=n en el numerador, y en el denominador van n-0, n-1, n-2, y justo estos numeros (0,1,2) son los numeradores decrementados en 1, por que lo que si en el numerador va X, abajo va 3-(X-1). Es una ídea, no lo he probado.  ;)
14  Programación / Programación C/C++ / Re: Ejercicios en: 24 Agosto 2015, 01:02 am
Bueno la verdad nunca he utilizado borland. Yo tengo Codeblocks + mingw.
Sabes, hay otra forma de hacerlo.

Código
  1. int n;
  2.    int i = 1;
  3.    double suma = 0;
  4.    const double numerador = 1.0;
  5.    bool band = false;
  6.  
  7.    cout<<"Ingresa N: ";
  8.    cin>>n;
  9.  
  10.    while(i <= n){
  11.        if( band == false){
  12.            suma = suma + (numerador/i);
  13.            band = true;
  14.        }
  15.        else{
  16.            suma = suma - (numerador/i);
  17.            band = false;
  18.        }
  19.        i++;
  20.    }
  21.  
  22.    cout<<"Suma: "<< suma <<endl;

En orden de izquierda a derecha ( 1 - + - ) sabemos que siempre va a iniciar por sumar 1, luego resta, luego suma, luego resta y así sucesivamente. Entonces declaramos un boleano band = false, luego cuando haga la primera comprobación será false == false , esto dará true, entonces entra y suma, luego cambia el valor de bandera a true, para que en la siguiente comprobación valla por el "else" y así sucesivamente.
15  Programación / Programación C/C++ / Re: Ejercicios en: 24 Agosto 2015, 00:14 am
Dice que la condición siempre es falsa " N%1==1 "y tiene razón. Me había equivocado, es N%2==1  

Si quieres hacer N = N - 1  lo otra forma es  N--

Si vas a poner
N--;
cout << "Resultado: " << resultado;

dentro del IF en caso sea cierto y dentro del caso sea falso, lo más adecuado es que lo pongas fuera del IF.
16  Programación / Programación C/C++ / Re: programa q cuenta cuantas palabras tienen 4 letras y termina de leer un arreglo en: 24 Agosto 2015, 00:01 am
Si ingresas "hola que tal" sale 2. :silbar:
17  Programación / Programación C/C++ / Re: Funciones en: 23 Agosto 2015, 23:44 pm
Pongo un ejemplo:

Código
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int funcionPromedio(int nota1,int nota2,int nota3){
  5.    int promedio = (nota1 + nota2 + nota3)/3;
  6.    return promedio;
  7. }
  8.  
  9. int main(){
  10.  
  11.    int resultado;
  12.  
  13.    resultado = funcionPromedio(5,9,4);
  14.    cout << resultado;
  15.  
  16.    return 0;
  17. }


En la linea 4 hay una función "funcionPromedio", antes del nombre dice "int" quiere decir que lo que va a devolver es de tipo "int" (que es la variable "promedio").

En la linea 13 lo que haces es "ASIGNAR a la variable resultado, lo que nos retorna la funcionPromedio". La parte que dice (5,9,4) es lo que le vas a "mandar" a la funcion, son 3 valores por que son 3 parametros nota1 nota2 nota3. Con esto lo que haces es prácticamente nota1=5, nota2=9, nota3=4, promedio=(5+9+4)/3, promedio=6, return 6. Con este return es como si la función te dijera "toma esta es la respuesta". Luego queda resultado = 6.

En esta función si le pasas 3,5,6 la suma es 4,666 pero como están como enteros(int) te devolverá solo la parte entera: 4 (Ojo: no redondea a máximo o a mínimo). Si quieres con decimales tendrías que cambiar los tipos de datos a float o double.
--
*No es necesario que los parametros tengan el mismo tipo q el valor de retorno. Puede existir una función algo así "int funcionX(float a, String texto, bool bandera)" , incluso podría no tener parámetros.
18  Programación / Programación C/C++ / Re: Ejercicios en: 23 Agosto 2015, 22:34 pm
En el caso del denominador verás que si es par se resta la fracción, y si es impar se suma. Entonces puedes usar % para sacar el resto y poder determinar si es par o impar.
Por ejemplo:

si n%2==1 entonces es impar
19  Programación / Programación C/C++ / duda con cin.ignore() en: 22 Agosto 2015, 05:20 am
Hola a todos. Estoy aprendiendo c++(poo) y encontré un ejemplo que me generó una duda una duda. La linea que dice cin.ignore pensé que era innecesario ponerla ya que al iniciar el programa no se llenaría de "basura" pero luego pensé que si es necesario en caso llamemos varias veces al método. Entonces cuando ejecuto no me muestra directamente "Ingrese nombre de impuesto" si no que primero me espera a que presione enter. Como evito eso?

Este es el código.


Código
  1. #include <iostream>
  2. using namespace std;
  3. class impuesto
  4. {
  5. public:
  6.    // Funciones miembro
  7.    void capturar();
  8.    double calcularImpuesto(double);
  9.    void imprimir(double);
  10.    // Datos miembro
  11.    char nombre [25];
  12.    double tasa;
  13. };
  14. int main(){
  15.  
  16.    impuesto ISV;
  17.    double valor;
  18.  
  19.    ISV.capturar();
  20.    cout << "Valor: ";
  21.    cin >> valor;
  22.  
  23.    ISV.imprimir(valor);
  24.  
  25.    return 0;
  26. }
  27.  
  28. void impuesto::capturar()
  29. {
  30.    cin.ignore();
  31.    cout << "Nombre de impuesto: ";
  32.    cin.getline(nombre, 25);
  33.    cout << "Tasa: ";
  34.    cin >> tasa;
  35. }
  36. void impuesto::imprimir(double v)
  37. {
  38.    cout << "Para un valor de : " << v << " y una tasa de: " << tasa
  39.    << " el valor de " << nombre << " es: " << calcularImpuesto(v) << endl;
  40. }
  41. double impuesto::calcularImpuesto(double v)
  42. {
  43.    return v * tasa;
  44. }
  45.  
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines