Menú

Mostrar Mensajes

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ú

Mensajes - GominaTilted

#21
Sí, está con formato de C pero me vale. No había abierto el vídeo porque no me suelo fiar mucho de YT, pero el chaval lo explica bastante bien.
#22
Buenas, tengo un vector de tipo "struct", y necesito leer un fichero y que me guarde los datos en un vector. Asumo que tiene que ser algo de este estilo:


        Libro libro; //es mi struct
string nom_fichero = PracticaFinal_opcion1.libros.dat;

ifstream f;

f.open(nom_fichero);

if (f)
{
while (f >> ??) // el "??" indica que no sé que poner para que lea hasta el fin del fichero. NO PUEDO USAR .eof //
{
//aquí irían la propia lectura
}
}


Gracias :D
#23
YreX-DwX, gracias por el aporte. Si consigo sacar algo te aviso xD. Luego tengo que corregir el ejercicio, osea que supongo que obtendré una solución óptima.
#24
Bueno, he conseguido hacerme mi codigo, y ha quedado así:


#include <iostream>
#include <string>
using namespace std;

void Cabecera (void);
void SepararPalabras (void);

int main (void)
{
Cabecera();
SepararPalabras();
return 0;
}
void Cabecera (void)
{
cout << "Este programa pide una frase y devuelve enumeradas sus palabras" << endl << endl;
return;
}
void SepararPalabras (void)

string frase;
int i, x = 1, n;
cout << "Dame una frase: ";
getline (cin, frase);
for (i = 0; i < frase.length (); i++)
{
if (isalpha (frase[i]))
{
cout << x << "-> ";
while (isalpha (frase[i]))
{
frase[i];
cout << frase[i];
i++;
}
cout << endl;
x++;
}
}
return;
}


Como véis lleva un contador de las palabras (no lo pedía el enunciado, pero como el ejemplo lo incluía pues lo he puesto). Se me olvidó mencionar que me obligan a gastar estan librerías. Ahora le estoy dando vueltas para que omita palabras repetidas, si se os ocurre algo (y no necesito un código directamente), me sería muy útil.
#25
Cita de: AlbertoBSD en  8 Diciembre 2018, 17:53 PM
Mejor di que quieres que te hagan la tarea.


El codigo presenta varios problemas, el numero de espacios no puede ser mas de 10, ya que definimos *vector[10], se podria hacer de forma dinamica para aceptar "infinitos" pero eso ya involugra mas codigo.


#include<stdio.h>
#include<string.h>

int main() {
char cadena[100];
char *token;
char *vector[10];
int i = 0;
printf("Ingrse una frase: ");
fgets(cadena,100,stdin);
token = strtok(cadena," ");
do {
vector[i] = token;
printf("%i -> %s\n",i+1,vector[i]);
i++;
token = strtok(NULL," ");
}while(token != NULL);
}

Realmente no quería un código (aunque lo pueda parecer por decir lo de <string>), solo una clave para poder sacarlo, pero gracias de todas formas. Ah, por cierto, no sé lo que son los tokens :/
#26
Buenas, debo de realizar este ejercicio (lo del título es una supuesta forma correcta pero que no sé implementar). El programa debe de pedir una frase al usuario (hasta ahí todo bien), y luego mostrar las palabras que la componen de forma enumerada (y ahí está el problema xD). Debo de usar la librería <string>, como es lógico, y todas las funciones asociadas. Un banco de pruebas sería el siguiente:

CitarDame frase: Esto es una prueba
1 -> Esto
2 -> es
3 -> una
4 -> prueba
#27
Bueno, vuelvo con otra duda xD. Esta vez este código no sé por qué no funciona. La función debe de detectar los numeros abundantes dentro de un rango introducido por el usuario (ambos extremos excluidos), y mostrar la suma de ellos. Por ejemplo, entre 1 y 13 debería de dar 12, y da 177.


int SumaAbundantes (int x, int y)
{
int suma = 0, i, div, resultado = 0;

cout << "Dame un entero positivo: ";
cin >> x;
cout << "Dame otro entero positivo: ";
cin >> y;

for (i = x + 1; i < y; i++)
{
for (div = 1; div < i; div++)
{
if ((i % div) == 0)
{
suma = suma + div;

if (suma > i)
{
          resultado = resultado + i;
}
cout << resultado << endl;
}

}

}

cout << "La suma de los numeros enteros abundantes positivos entre " << x << " y " << y << " es " << resultado;

return resultado;
}
#28
Exacto, me he dado cuenta nada más preguntarlo. Muchas gracias.
#29
Programación C/C++ / ¿Por qué no va este código?
24 Noviembre 2018, 17:56 PM
Muy buenas, no entiendo por qué en este código solo se opera bien la primera vez que se realiza el bucle.


#include <iostream>
using namespace std;

int main ()
{
int num = 1;
int suma = 0;
int div = 1;

cout << "Este programa nos dice si un numero entero introducido por teclado es perfecto, abundante o deficiente." << endl << endl;

while (num != 0)
{
cout << "Dame un numero (introduce 0 para salir): ";
cin >> num;

for (div = 1; div < num; div++)
{
if ((num % div) == 0)
{
suma = suma + div;
cout << suma;
}
}

if (num == 0)
{
cout << "";
}

else if (suma == num)
{
cout << "El numero " << num << " es perfecto." << endl << endl;
}

else if (suma > num)
{
cout << "El numero " << num << " es abundante." << endl << endl;
}

else
{
cout << "El numero " << num << " es deficiente." << endl << endl;
}

}

return 0;
}
#30
Programación C/C++ / Re: Ayuda con bucle for
22 Octubre 2018, 23:27 PM
Ah vale muchas gracias, es que como estoy empezando no conocía el concepto en su totalidad. Cosas de noob :p