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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [46] 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ... 64
451  Programación / Programación C/C++ / Re: Ayuda!! en: 21 Noviembre 2018, 16:59 pm
1) Declaras la matriz(10)(10) y usas dos for para recorrerla mostrando los valores de i y j que son los indicadores de la matriz
2) Usas el codigo del punto uno y agregas valores aleatorios en la matriz con la funcion srand(time(NULL));
La muestras con el recorrido normal, es decir con los valores de i y j en 0, y recorrido de final a principio lo mismo nada mas que el valor inicial de i y j ahora son MAX-1(o posicion final del arreglo)
Luego pides un numero al usuario 0 por ejemplo entonces vamos a suponer que i es para filas y j para columnas  entonces sumas en una variable suma=0;  todos los valores en los que i sea igual al numero ingresado por el usuario 0 en este caso, y en sumar valores de la columna x(valor ingresado por el usuario) es lo mismo sumas todo los valores en donde j sea iguala  0;
Y la diagonal bueno, voy a suponer que es la diagonal principal usas una variable para sumar esos valores le vamos  a llamar suma_diagonal=0; sumas todos los valores donde se crucen i y j es decir si i==j  a suma_diagonal=matriz(i)(j);//Perdon no me deja poner los valores entre corchetes
3) Usas el codigo del punto 2 donde asiganabas valores aleatorios y luego procedes a agragar los elementos de la matriz cuyo indice son pares es decir i%2==0, j%2==0;
4) Generas la matriz igual que en el punto 2, pides al usuario un numero, lo buscas en la matriz y si el valor esta dentro muestras los valores de i y j para indicar en que posicion esta y detienes el recorrido de la matriz utilizando una variable logica encontrado=false; y al final decir si encontrado==false, escribes por pantalla no existe ese valor y sino no hacer nada, eso seria todo;
Te dejo el codigo del ultimo para que veas como funciona
Código
  1. int numero_ingresado_por_el_usuario=7, matriz[10][10];
  2. bool encontrado=false;
  3.  
  4. for(int i=0;i<10 && !encontrado;i++){
  5. for(int j=0;j<10 && !encontrado;j++){
  6. if(numero_ingresado_por_el_usuario==matriz[i][j]){
  7. cout<<"El numero se encuentra en la posicion: ["<<i<<"]["<<j<<"]"<<endl;
  8. encontrado=true;
  9. }
  10. }
  11. }
  12. if(encontrado==false)
  13. cout<<"El numero ingresado no se encuentra en la matriz"<<endl;
  14.  

P/D: Que materia es esa?
452  Programación / Programación C/C++ / Re: Duda en: 20 Noviembre 2018, 18:21 pm
Pues recorres hasta encontrar una casilla vacia agregas y sales  :huh:
Algo asi mira
Código
  1. bool casilla_vacia=false;
  2.  
  3. for(int i=0;i<MAX && !casilla_vacia;i++){
  4. for(int j=0;j<MAX && !casilla_vacia;j++){
  5. //Esto si fuera un arreglo de carateres, todo depende lo que vaya a contener tu matriz, si es de punteros entonces el valor vacio es NULL;
  6. if(matriz[i][j]==""){
  7. matriz[i][j]=nuevo_dato;
  8. casilla_vacia=true;
  9. }
  10. }
  11. }
  12.  
453  Programación / Programación C/C++ / Re: Arreglo funciones en: 20 Noviembre 2018, 14:40 pm
Desde mi humilde opinión yo usaría un array para las notas. Pero bueno eso ya es cosa de generalizar el programa para meter más notas.

Y aquí creo que es más fácil hacerlo con un <if> ya que las condiciones no van alternadas:
Código
  1. if(promedio < 5)
  2.    cout << "Aprobado" << endl;
  3. else
  4.    cout << "Suspenso" << endl;
Y... no sabía que hay quien considera el aprobado a partir del 7. :xD

Se aprueba con 7, y yo tampoco sabia que con menos de 5 se aprobaba, tenias sueño lo se, asi te queria agarrar  ;-)

El campo promedio se calcula solo (atributo derivado) ,al registrar un alumno los valores de los parciales y promedio se inicializan en 1 y promedio nunca puede ser menor a 1, y bueno es lo que su profesor le pidio  para que meter mas cosas, yo usaria archivos para ir metiendo las notas a medida que pase el tiempo y eliminaria la  redundancia la tabla alumno(parciales) y asi dejar esa tabla normalizada, para meter mas notas digo y no repetir los campos, lo correcto es usar 2 tablas de N:M y el infaltable contador que nos dice por cuanto tenemos que dividir sus notas para sacar el promedio, pero como dije anteriormente ese calculo debe realizarse y almacenarse solo, ahi va codigo/algoritmo ;-)
ALUMNO-|------|<-ALUMNO-NOTA->|-------|-NOTA
454  Programación / Bases de Datos / Re: normalizacion (soy super nueva en bases de datos) en: 20 Noviembre 2018, 07:07 am
No es lo que busco, esta bastante incompleto ademas anoche aprendí a normalizar, gracias igual   :laugh:
455  Programación / Programación C/C++ / Re: Arreglo funciones en: 20 Noviembre 2018, 03:32 am
Primero que nada revisa cuantas variables vas a utilizar y las estructura de datos que vas a emplear para manejar esa informacion, pero bueno te ayudare, utiliza una estructura de tipo alumno para los alumnos y como tu profe te pide solamente para 5 alumnos vamos a utilizar algo muy sencillo que es un arreglo de registros o de structs como quieras llamarlo que almacenara 5 registros ok?
Código
  1. const int MAXALUMNOS=5;
  2.  
  3. typedef struct alumno{
  4. int id;
  5. string nombre_alumno;
  6. int primer_parcial;
  7. int segundo_parcial;
  8. int tercer_parcial;
  9. int promedio;
  10. };
  11.  
  12. typedef alumno alumnos[MAXALUMNOS];
  13.  
  14. void registrar_alumno_y_sus_notas(alumnos &a, int &posicion_en_el_arreglo)//Donde posicion es igual a -1
  15. {
  16. if(posicion_en_el_arreglo>MAXALUMNOS-1)
  17. cout<<"No hay espacio, debe usar estructuras dinamicas"<<endl;
  18. else{
  19. posicion_en_el_arreglo++;//Aca se mueve una posicion para indicar que ahora esta en 0 que es la posicion inicial del arreglo de registros
  20. cout<<"Ingrese Id del estudiante: ";
  21. cin>>a[i].id;
  22. cout<<"Ingrese notas de los parciales"<<endl;
  23. cin>>a[i].....//Me aburrí... bueno y así
  24. //Bueno promedio se deberia calcularse solo y almacenarse
  25. ...
  26. }
  27. }
  28.  
  29. void mostrar_notas_finales_de_los_alumnos(alumnos a, int posicion_en_el_arreglo)
  30. {
  31. int i;
  32. if(posicion_en_el_arreglo<0)//Esto quiere decir que todavia no se han registrado alumnos
  33. cout<<"Todavia no se han registrado alumnos"<<endl;
  34. else{
  35. for(i=0;i<=posicion_en_el_arreglo;i++){
  36. cout<<"Id: "<<a[i].id<<endl;
  37. cout<<...//Me volvi  a aburrir
  38. switch(a[i].promedio){
  39. case 1 ... 6: cout<<"Desaprobado"<<endl;break;
  40. case 7 ... 10: cout<<"Aprobado"<<endl;break;
  41. }
  42. cout<<endl;//Aca otro salto de linea por las dudas
  43. }
  44. }
  45. }
Lo otros metodos ya puedes hacerlo por ti mismo
456  Programación / Bases de Datos / normalizacion (soy super nueva en bases de datos) en: 18 Noviembre 2018, 16:09 pm
Alguien podria enseñarme a normalizar tablas en la primera, segunda y tercera forma?  :huh:
457  Programación / Programación C/C++ / Re: como se libera la memoria de un arbol? en: 18 Noviembre 2018, 00:23 am
Eso leí por ahi, muchas gracias chicos  :D
458  Programación / Programación C/C++ / Re: como se libera la memoria de un arbol? en: 17 Noviembre 2018, 22:55 pm
Si hago esto funciona, pero me gustaria saber si de verdad el arbol quedo liberado del todo, pero ya me dio flojera
Código
  1. void freememory(tree &bts)
  2. {
  3. if(bts!=NULL){
  4.    freememory(bts->left);
  5.    freememory(bts->right);
  6.    delete(bts);
  7.    bts=NULL;
  8.   }
  9. }
459  Programación / Programación C/C++ / Re: nesito ayuda con este otro problema plox, para acabar con el mal de mordor en: 17 Noviembre 2018, 22:52 pm
Primero que nada necesitas un bucle para ir preguntando si el usuario quiere seguir averiguando los N Primeros valores no multiplos de X;
Y dentro de eso una variable j=1 que vaya incrementando sin parar.
Bien en ese bucle preguntas si j%X!=0 es verdadero, si lo es muestras por pantalla el valor de j que es la variable que no para de crecer e incrementas el valor de i en i+1 que es la que controlara que se impriman N numeros;
Ahora j se incrementa en +1, sin importar nada porque tiene que ir creciendo dentro del bucle y nada mas, bueno aqui te dejo un codigo en modo demostracion, la funcion la puedes hacer tu  ;-)

Código
  1. int i, j, contador, promedio, N, X;
  2. char respuesta;
  3. cout<<"Ingrese N: ";
  4. cin>>N;
  5. cout<<"Ingrese X: ";
  6. cin>>X;
  7. do{
  8. promedio=0;
  9. contador=0;
  10. i=1;
  11. j=1;
  12. while(i<=N){
  13. if(j%X!=0){
  14. cout<<j<<endl;
  15. promedio+=j;
  16. contador++;
  17. i++;
  18. }
  19. j++;
  20. }
  21. cout<<"Promedio: "<<promedio/contador<<endl;
  22. cout<<"Continuar? S/N: ";
  23. cin>>respuesta;
  24. }while(respuesta=='s' || respuesta=='S')
460  Programación / Programación C/C++ / Re: como se libera la memoria de un arbol? en: 17 Noviembre 2018, 21:04 pm
Mmmm la verdad no me funciona, sera porque cree los nodos con new y deberia usar delete?  :huh:
Páginas: 1 ... 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 [46] 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 ... 64
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines