Haz informática y telecos al mismo tiempo. Problem ?
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: eleon en 28 Enero 2012, 20:07 PM
Edito: Vale, me doy cuenta de que faltaría modificar el matiz para un exponente negativo, voy a ver como sería y comento.
Edito 2: Corregido, si el exponente es negativo basta con dividir 1 entre el resultado.
int factorial1(int n) { // Version iterativa
int result = 1;
for (int i = 2; i <= n; ++i) result *= i;
return result;
}
int factorial2(int n) { // Version recursiva
if (n < 2) return 1;
else return n*factorial2(n-1);
}
Cita de: eleon en 28 Enero 2012, 19:44 PM
Si no quieres ver punteros se puede hacer paso por referencia puro:#include <iostream>
using namespace std;
void funcion (int &sobrenombreVariable) /* Esto se vuelve un "sobrenombre" de la variable, todas las modificiaciones
que hagas en "sobrenombreVariable" se harán en "variable" */
{
sobrenombreVariable = 10;
}
int main ()
{
int variable = 0;
funcion (variable); //Le pasamos la variable a la que queremos que afecte el sobrenombre
return 0;
}
Busca "paso por referencia" y encontrarás más información. Saludos.
Cita de: RHL en 28 Enero 2012, 19:19 PM
@Xandrete... :
Al declarar variables dentro de funciones no* se pueden retornar porque las variables son
locales la memoria asignada en ese momento es liberada, despues puede tener otros valores
pd: debe ser un tipo de dato como char, int
int f;
int* num = new int[f];
struct Result {
int result1;
char result2;
double result3;
};
Result foo(int param) {
Result r;
// GENERIC CODE
return r;
}
Cita de: EAX_ en 28 Enero 2012, 18:50 PM
10 / 2 = 5... y ¿Resto 0? Eso es lo que no comprendo.
Cita de: EAX_ en 28 Enero 2012, 18:50 PM
Xandrete, gracias por la aclaración. Aunque el compilador nunca se quejó de eso, voy a tener cuidado con lo que me dices. Y supongo que puedo prescindir de la palabra new al crear el array ¿O no?
int n, i, num[f] // es la parte de int num[f] la que esta mal
int* num = new int[f];
int* num = malloc(f); // hay que incluir cstdlib primero
vector<int> num(f); // hay que incluir vector primero
Cita de: H1tchclock en 27 Enero 2012, 07:13 AM
¿Y que dicen ustedes de un microondas con axesso a internet? ¿Podria un hacker tostar nuestra pizza?