No se hacen tareas.
Así es como se aprende que estas cosas hay que empezar a hacerlas con tiempo y no dejarlas para el final.
Así es como se aprende que estas cosas hay que empezar a hacerlas con tiempo y no dejarlas para el final.
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úcd ruta_a_tu_ejecutable
./programa.exe
./programa.exe cada palabra extra es un argumento
argc = 7
argv[0] = "./programa.exe"
argv[1] = "cada"
argv[2] = "palabra"
...
argv[6] = "argumento"
const int MIN_NUM_TERMINOS = 0; // Constante para el numero minimo de terminos permitido
const int MAX_NUM_TERMINOS = 15; // Constante para el numero maximo de terminos permitido
int main() {
int terminos;
do {
cout << "Introduce el numero de terminos [" << MIN_NUM_TERMINOS << " - " << MAX_NUM_TERMINOS << "]: ";
cin >> terminos;
} while(terminos < MIN_NUM_TERMINOS || terminos > MAX_NUM_TERMINOS);
// Cuando llegues a esta linea ya tendras un valor dentro del rango permitido
}
// Esto:
if(numero > 0 && numero < 15);
else {
...
}
// Se puede sustituir por esto:
if(numero <= 0 || numero >= 15) {
...
}
int main() {
// Inicializamos el resultado a 0 para poder acumular correctamente
double resultado = 0;
// Las variables n y x no hace falta inicializarlas porque se van a pedir por teclado
int n;
double x;
// Inicializamos las variables para k = 1
int signo = -1; // (-1)^1 = -1
double factorial = 2; // (2 * 1)! = 2! = 2
double elemento3 = pow(x, 4); // x^(4 * 1) = x^4. AVISO: Primero hay que pedir x
for(int i = 1; i <= n; ++i) {
// Sumamos el elemento i
resultado += signo * 1/factorial * elemento3;
// Actualizamos cada uno de los elementos
signo *= -1; // Asi cambiamos de signo en cada iteracion
factorial = ...;
elemento3 = ...;
}
}
while(condicion) {
// lo que sea
}
do {
// lo que sea
} while(condicion);
Cita de: MrEliott en 12 Mayo 2021, 06:28 AMLinux tiene digamos como dos historiales: uno en memoria y otro en un fichero (el fichero que ha mencionado el-brujo). Mediante el comando:
Hola a todoss, he intentado borrar mi historial de comandos del terminal en kali linux y no he podido, he buscado y encontrado que el comando es " history -c " pero por alguna razon no me funciona... agradezco la ayuda
history -c
history -c && history -w
Cita de: MrEliott en 12 Mayo 2021, 19:07 PMHasta donde yo sé (desconozco si esto es igual en todas las distros), si añades un espacio antes de un comando, éste no se guarda en el historial.
>> Gracias funciono perfecto , una ultima pregunta, hay alguna forma para que nunca se guarden los comandos en el historial?? Gracias de antemano
res = procesarReceta(r[0], tiposIngredientes, numTiposIngredientes);
Cita de: JoaquinVT312 en 9 Mayo 2021, 14:04 PMEn el algoritmo anterior he intercambiado el significado del 1 y el 0 pero puedes corregir eso sin mayor problema.
Primero decir que es verdad que me expliqué mal acerca del ejercicio. El programa devolvería 1 de ser totalmente vegetariana la receta y 0 de encontrar algún alimento animal, pero siempre prevalecería el encontrar un ingrediente desconocido, es decir, de encontrar uno devolvería -1, independientemente ya de que sea vegetal o animal la receta.
Cita de: JoaquinVT312 en 9 Mayo 2021, 14:04 PMTe dará error de compilación porque el prototipo de la función tiene que ser igual que la implementación y no lo habrás cambiado en ambas partes del código.
Tengo dudas sobre la llamada a la función:
// LLamada a función procesaReceta. Pruebe diferentes recetas anteriores: r[0], r[1] o r[2]
res = procesarReceta(Receta receta, Ingredientes ingredientes[], numIngredientes);
Eso me da error y no me deja compilar, por lo que me quedo ahí atascado y no puedo compilar e ir probando s editar el código de la función para ver si va funcionando correctamente o no.
Gracias de nuevo por la atención.
typedef struct {
char nombre[TAMCAD];
int numIngredientes;
int id[MAXING];
int cantidad[MAXING];
} Receta;
// Ahora puedes utilizar el tipo Receta asi:
Receta miReceta;
// en vez de asi:
struct Receta miReceta;
int procesarReceta(Receta receta, ...);
int procesarReceta(Receta receta, Ingrediente ingredientes[], int numeroIngredientes, ...);
int procesarReceta(Receta receta, Ingrediente ingredientes[], int numeroIngredientes) {
// tu codigo aqui
}
i := 0 // Indica el indice del ingrediente actual de la receta
resultado := 0 // Indica: 0 (no animal) | 1 (animal) | -1 (desconocido)
MIENTRAS i < receta.numIngredientes && resultado == 0 HACER
j := 0 // Indica el indice del ingrediente actual entre todos los ingredientes
MIENTRAS j < numIngredientes && ingredientes[j].id != receta.ingredientes[i] HACER
j := j +1
FIN MIENTRAS
// Aqui llegamos si hemos encontrado el ingrediente correspondiente segun el id o si no existe
SI j < numIngredientes ENTONCES // lo hemos encontrado en la posicion j
resultado := (ingredientes[j].tipo == 'A') // Esto sera 1 si la comparacion es true o 0 si es false
SINO // no lo hemos encontrado
resultado := -1
FIN SI
i := i + 1
FIN MIENTRAS
RETURN resultado
int mes;
printf("Introduce un numero del 1 al 12: ");
scanf("%d", &mes);
if(mes == 1) printf("Enero\n");
else if(mes == 2) printf("Febrero\n");
else if(mes == 3) printf("Marzo\n");
...
else printf("No has introducido un numero entre 1 y 12\n");
int mes;
printf("Introduce un numero del 1 al 12: ");
scanf("%d", &mes);
switch(mes) { // Segun el valor de <mes>...
case 1: // ...si es 1...
printf("Enero\n"); // ...haces esto...
break; // ...y sales del switch
case 2: // ...si es 2...
printf("Febrero\n"); // ...haces esto...
break; // ...y sales del switch
...
default: // ...si no era ninguno de los anteriores...
printf("No has introducido un numero entre 1 y 12\n");
break; // (este break es opcional porque no hay mas casos)
}
char letra = ...;
switch(letra) {
case 'a': case 'e': case 'i': case 'o': case 'u':
printf("La letra %c es una vocal minuscula\n", letra);
break;
case 'A': case 'E': case 'I': case 'O': case 'U':
printf("La letra %c es una vocal mayuscula\n", letra);
break;
default:
printf("La letra %c es una consonante\n", letra);
}
int RandomMin1Max10() {
srand(time(NULL));
int valor;
valor = (rand()%(10+1-1)+1); // Al ser numero fijos no tiene mucho sentido dejar esas operaciones
return valor;
}
int generarNumeroAleatorio(int minimo, int maximo) {
return minimo + rand() % (maximo - minimo + 1);
}
int pedirEntero(char *mensaje) {
int numero;
printf(mensaje);
scanf("%d", &numero);
while(getchar() != '\n'); // limpiar el buffer de entrada
return numero;
}