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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación C/C++ / Convertir de lista de adyacencia a matriz de adyacencia en: 21 Noviembre 2014, 16:21 pm
Buen día hago un programa sobre grafos y me quede atorado aquí, necesito mostrar la matriz de adyacencia a partir de la lista, se que va con un for anidado pero no tengo idea de como tener acceso a las aristas y a los nodos aqui el código:
Código:
#include <iostream>
#include <stdio.h>
#include <conio.h>

struct vertice {
char insertar;
   struct vertice *sig;
   struct arista *aris;
};

struct arista {
struct vertice *destino;
   struct arista *sig;
};

typedef struct vertice *Nodo;
typedef struct arista *Ar;

void crear_nodo(Nodo &grafo)
{
    Nodo Noden=new struct vertice;

    cin>>Noden->insertar;
    Noden->sig=NULL;
    Noden->aris=NULL;

    if(grafo==NULL)
    {
        grafo = Noden;
        return;
    }
    else
    {
        Nodo aux=grafo;

        if(Noden->insertar==aux->insertar)
      cout<<"\nNODO EXISTENTE :(";

        while(aux->sig!=NULL)
        {
            if(Noden->insertar==aux->insertar)
            cout<<"\nNODO EXISTENTE :(";
            aux = aux->sig;
        }
        aux->sig = Noden;

        return;
    }

}

void add_arista(Nodo &aux, Nodo &aux2, Ar &nuevo)
{
    Ar i;

    if(aux->aris==NULL)
    {   aux->aris=nuevo;
        nuevo->destino=aux2;
        cout<<"\nARISTA CREADA :).";
    }
    else
    {   i=aux->aris;
      if(i->destino->insertar==aux2->insertar)
        {
        cout<<"\n\nARISTA YA EXISTENTE :(";
            return;
        }
        while(i->sig!=NULL)
        {
            if(i->destino->insertar==aux2->insertar)
            {
            cout<<"\n\nARISTA YA EXISTENTE";
               return;
            }
    i=i->sig;
        }
        nuevo->destino=aux2;
        i->sig=nuevo;
        cout<<"\nARISTA CREADA";
    }

}

void insert_arista(Nodo grafo)
{
char ini, fin;
    Ar Noden=new struct arista;
    Nodo aux, aux2;

    cout<<"\t\t\tEnlace creado con exito!\n";

    if(grafo==NULL)
     {
         cout<<"SIN ELEMENTOS QUE EVALUAR";
         return;
     }
    Noden->sig=NULL;
    cout<<"INGRESE PUNTO INICIO: ";
    cin>>ini;
    cout<<"INGRESE PUNTO FINAL: ";
    cin>>fin;
    aux=grafo;
    aux2=grafo;
    while(aux2!=NULL)
    {
        if(aux2->insertar==fin)
        {
            break;
        }

        aux2=aux2->sig;
    }
    if(aux2==NULL)
    {
        cout<<"\nEL NODO "<<fin<<" NO EXISTE\n";
      return;
    }

    while(aux!=NULL)
    {
        if(aux->insertar==ini)
        {
            add_arista(aux, aux2, Noden);
            return;
        }

        aux = aux->sig;
    }
    cout<<"\n RUTA CREADA SIN EXITO\n"<<endl;
    cout<<"\nEL NODO "<<ini<<" NO EXISTE\n";
    return;
}

void imprimirgrafo(Nodo grafo)
{
    if(grafo==NULL)
    {
      cout<<"LO SENTIMOS, NO SE CREO NINGUN GRAFO";
    return;
    }

Nodo aux;
    Ar ar;
    aux=grafo;
    cout<<"\t\t\tMOSTRANDO matriz DE ADYACENCIA \n\n";

    while(aux!=NULL)
    {   cout<<" "<<aux->insertar<<" : ";
        if(aux->aris!=NULL)
        {
            ar=aux->aris;
            while(ar!=NULL)
            {
            cout<<ar->destino->insertar;
            if(ar->sig!=NULL)
                cout<<",**** ";
                ar=ar->sig;
             }

        }
        aux=aux->sig;
        cout<<endl;
    }
}


void deleted(char var, Nodo grafo)
{
Nodo aux;
    Ar ar, ant, fijo;
    aux=grafo;

    while(aux!=NULL)
    {
        if(aux->aris!=NULL)
        {
            fijo=aux->aris;
            ar=aux->aris;
            ant=aux->aris;
            while(ar!=NULL)
            {
            if(ar->destino->insertar==var)
                {
                   if(fijo==ar)
                   {
                    aux->aris=fijo->sig;
                     delete(fijo);
                     break;
                   }
                   else
                    {
                      ant->sig=ar->sig;
                        delete(ar);
                        break;
                     }
                }
                ant=ar;
                ar=ar->sig;
             }

        }
        aux=aux->sig;
        cout<<endl;
    }
}


void aristas_null(Nodo &aux)
{
    Ar i,j;

    i=aux->aris;
    while(i->sig!=NULL)
    {
        j=i;
        i=i->sig;
        delete(j);
    }
}

void deleted_nod(Nodo &grafo)
{
char var;
    Nodo aux, ant;
    aux=grafo;
    ant=grafo;

    cout<<"\t\t\t DESHACER NODO\n\n";

    if(grafo==NULL)
    {
         cout<<"\nLO SENTIMOS, NO SE HA CREADO NINGUN GRAFO\n";
         return;
    }
    cout<<"QUE NODO DESEA ELIMINAR : ";
    cin>>var;

    deleted(var, grafo);

    while(aux!=NULL)
    {
        if(aux->insertar==var)
        {
            if(aux->aris!=NULL)
                aristas_null(aux);

            if(aux==grafo)
            {
                grafo=grafo->sig;
                delete(aux);
                cout<<"NODO ELIMINADO CON EXITO";
                return;
            }
            else
            {
                ant->sig=aux->sig;
                delete(aux);
                cout<<"NODO ELIMINADO CON EXITO";
                return;
            }
        }

        ant=aux;
        aux=aux->sig;
    }

    cout<<"\n\nEL NODO NUNCA EXISTIO \n";
    return;

}


void arista_quitar(Nodo &grafo)
{
char ini, fin;
    Nodo aux, aux2;
    Ar i, j;

    cout<<"\t\t\t DESTRUIR ENLACE \n\n";

    if(grafo==NULL)
    {
         cout<<"\nGRAFO VACIO :(\n";
         return;
    }

    cout<<"NODO DE INICIO: ";
    cin>>ini;
    cout<<"NODO A FIN: ";
    cin>>fin;

    aux=grafo;
    aux2=grafo;
    while(aux2!=NULL)
    {
        if(aux2->insertar==fin)
        {
            break;
        }
        else
        aux2=aux2->sig;
    }

    while(aux!=NULL)
    {
        if(aux->insertar==ini)
        {
            i=aux->aris;
            if(i==NULL)
            cout<<"\n\nNO EXISTIO NUNCA ENLACE \n\n";

            while(i!=NULL)
            {
                if(i->destino==aux2)
                {
                    if(i==aux->aris)
                        aux->aris=aux->aris->sig;
                    else
                        j->sig=i->sig;
                    delete(i);
                    cout<<"\n\nARISTA ELIMINADA CON EXITO\n\n";
                    return;
                }
            j=i;
            i=i->sig;
            }
        }
        aux = aux->sig;
    }
}

void mostrAr(Nodo grafo)
{
    Nodo aux;
    Ar ar;
    char var;

    cout<<"\t\tIMPRIMIR ARISTAS DE NODO \n";
    cout<<"\n\nNODO A BUSCAR: ";
    cin>>var;
    aux=grafo;
    while(aux!=NULL)
    {
        if(aux->insertar==var)
        {
            if(aux->aris==NULL)
            {   cout<<"NO EXISTEN ARISTAS";
                return;
             }
            else
            {
                cout<<aux->insertar<<" :";
                ar=aux->aris;

                while(ar!=NULL)
                {
                    cout<<ar->destino->insertar;
                    if(ar->sig!=NULL)
                    cout<<", ";
                    ar=ar->sig;
                }
                cout<<endl;
                return;
            }
        }
        else
        aux=aux->sig;
    }

    cout<<"\n\nEL NODO NUNCA EXISTIO\n\n";
}

main()
{
   int opc, lim, i;
   Nodo grafo=NULL;

do{
   clrscr();
cout<<"\t\t\t\t GRAFO NO DIRIGIDO\n\n";
cout<<"1) INGRESAR NODO\n"
    "2) INGRESAR ARISTA\n"
         "3) ELIMINAR NODO\n"
         "4) ELIMINAR ARISTA\n"
         "5) BUSCAR NODO\n"
         "6) LISTA DE ADYACENCIA\n"
         "7) SALIR\n"
         "\n\nTU OPCION ES: ";
   cin>>opc;

   switch(opc)
   {
    case 1:
         clrscr();
         cout<<"\t\t\tHAZ ELEGIDO INGRESAR NODOS\n\n";
         cout<<"NUMERO DE NODOS A INGRESAR: ";
         cin>>lim;

         for(i=0; i<lim; i++)
         {
            cout<<(i+1)<<") ";
      crear_nodo(grafo);
         }

      break;
      case 2:
      clrscr();
      insert_arista(grafo);
      break;
      case 3:
      clrscr();
      deleted_nod(grafo);
      break;
      case 4:
      clrscr();
      arista_quitar(grafo);
      break;
      case 5:
      clrscr();
      mostrAr(grafo);
         getch();
      break;
      case 6:
      clrscr();
      imprimirgrafo(grafo);
         getch();
      break;
      case 7:
      return 0;

      default:
         clrscr();
      cout<<"OPCION NO VALIDA :(";
         getch();
      }
  }while (opc!=7);
  getch();
}

2  Programación / Programación C/C++ / Acceder a miembros de objetos en: 9 Octubre 2013, 17:44 pm
Hola pues resulta que estoy varado con este programa, el cual al ingresarle calificaciones de 2 materias para n alumnos debe arrojar el promedio grupal mi pregunta es como puedo acceder al promedio parcial que esta encapsulado en el objeto?? o hay otra forma de poder sacar el promedio general para los n alumnos??
Código:
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>



class Calificaciones
{

 public:

  Calificaciones();

  void acceder();
  void ingresar();
  void ingresar2();
  void calcular();
  void calcular2();
  void mostrar();
  //void mostrarDatos();
  void validar();

 private:

  float c1;
  float c2;
  float c3;
  float c4;
  float c5;
  float c6;
  int nc;
  float prom;
  float prom2;
  float promParcial;

};

Calificaciones::Calificaciones()
{

 c1=c2=c3=c4=c5=c6=prom=prom2=promParcial=0.0;
 nc=0;

}

void Calificaciones::acceder()
{
 cout<<"\n\n\tIngrese numero de cuenta: ";
 cin>>nc;

 while( nc>999999 || nc<99999 )
  {
   cout<<"\n\t\aNumero de cuenta incorrecto, verifiquelo e ingrese de nuevo: ";
   cin>>nc;
  }

}
void Calificaciones::ingresar()
{
 cout<<"\nMATERIA 1:"<<endl;
 cout<<"\n\tIngrese calificacion de primer parcial: ";
 cin>>c1;
 cout<<"\n\tIngrese calificacion de segundo parcial: ";
 cin>>c2;
 cout<<"\n\tIngrese calificacion de tercer parcial: ";
 cin>>c3;


}
void Calificaciones::ingresar2()
{
 cout<<"\nMATERIA 2:"<<endl;
 cout<<"\n\tIngrese calificacion de primer parcial: ";
 cin>>c4;
 cout<<"\n\tIngrese calificacion de segundo parcial: ";
 cin>>c5;
 cout<<"\n\tIngrese calificacion de tercer parcial: ";
 cin>>c6;
 clrscr();

}

void Calificaciones::validar()
{
 c1 = (c1>=0&&c1<=10) ? c1 : 0;
 c2 = (c2>=0&&c2<=10) ? c2 : 0;
 c3 = (c3>=0&&c3<=10) ? c3 : 0;
 c4 = (c4>=0&&c4<=10) ? c4 : 0;
 c5 = (c5>=0&&c5<=10) ? c5 : 0;
 c6 = (c6>=0&&c6<=10) ? c6 : 0;
}

void Calificaciones::calcular()
{

  cout<<"\n\n\n\n\n\n\n\n\n\n\tEl promedio del alumno: "<<nc<<"  se esta calculando...";
  validar();
  prom=(c1+c2+c3)/3;


}
void Calificaciones::calcular2()
{

  //cout<<"\n\n\n\n\n\n\n\n\n\n\tEl promedio del alumno: "<<nc<<"  se esta calculando...";
  //validar();
  prom2=(c4+c5+c6)/3;
  promParcial=(prom+prom2)/2;
  //return promParcial;


}


void Calificaciones::mostrar()
{
  //cout<<nc//cuenta que no se repita??
  cout<<endl<<" "<<nc<<"   ";
  cout<<setprecision(2)
      <<setiosflags( ios::fixed || ios::showpoint )
      <<" "<<c1
      <<"     "<<c2
  <<"     "<<c3

  <<"    "<<prom
      <<( prom < 7 ? " NA" : "  A")
      <<"        "<<c4
      <<"     "<<c5
  <<"     "<<c6
    <<"    "<<prom2
      <<( prom2 < 7 ? " NA" : "  A")
      <<"      "<<promParcial;

}


main ()
{

 Calificaciones c[' '];

 int ans,n,i,j,k;   //porque no reconoce i,j,k??
 char regreso='M';
 char ciclo='s';

 cout<<"\n\n\n\t\t\tCuantos alumnos va a ingresar?\t ";
 cin>>n;

 while (ciclo=='s')
 {

  cout<<"\n\n\n\t\t\tQue desea hacer?\n"
      <<"\n\t\t1.-Ingresar\n"
      <<"\n\t\t2.-Calcular\n"
      <<"\n\t\t3.-Mostrar\n"
      <<"\n\t\t4.-Salir\t\t";
  cin>>ans;
  clrscr();


  switch (ans)
  {

   case 1:

    for ( i=1; i<=n; i++)
    {
     regreso='J';
     cout<<"\n\t\tInstrucciones:  Ingrese valores enteros o decimales\n "
      <<" \t\t\t\tcon el rango del 0 al 10\n"
      <<"\t\tPara el numero de cuenta deberan ser de 6 digitos...\0";

     c[i].acceder();
     c[i].ingresar();

     
     c[i].ingresar2();
    }

   break;

   case 2:

    clrscr();
    for ( j=1; j<=n; j++)
    {

     if(regreso=='M')
     {
      cout<<"\n\aPrimero ingrese calificaciones para despues calcular!";
     }
     else
     {
      clrscr();
      cout<<endl;
      c[j].calcular();
      //clrscr();
      c[j].calcular2();
      //promGral[j]=?????


     }

     getchar();

    }
    clrscr();

   break;

   case 3:

    clrscr();
    cout<<endl<<"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛMATERIA1ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
              <<"MATERIA2ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"<<endl<<endl;
    //cout<<"\t\tMATERIA1\t\t\t\tMATERIA2 "<<endl;
    cout<<"ÛNo_CtaÛ"
     <<"  ÛC1Û"
     <<"   ÛC2Û"
     <<"   ÛC3Û"
     <<"   ÛPromÛ"
     <<"      ÛC1Û"
     <<"   ÛC2Û"
     <<"   ÛC3Û"
     <<"   ÛPromÛ"
     <<"   ÛPGralÛ";

    for ( k=1; k<=n; k++)
    {

     if(regreso=='M')
     {
      cout<<"\n\a\nNO hay datos para mostrar!!!";
     }
     else
     {
       //mat1[k].mostrarDatos();
       //cout<<"     ";
       c[k].mostrar();
       /*cout<<"      ";
       mat2[k].mostrar();*/
     }

     getchar();

    }
    clrscr();

   break;

   case 4:

    clrscr();
    cout<<"\n\n\t\tSaliendo...\a\a\a";
    ciclo='a';

   break;

   default:

    cout<<"\n\n\n\n\t\t\aOpcion invalida vuelva a intentarlo...";

   break;

  }

 }

 getchar();
3  Programación / Programación C/C++ / Re: N alumnos con clases en: 8 Octubre 2013, 23:51 pm
Hola perdón por la tardanza pues resulta que ahora ya no tengo problemas con el método mostrar sino que en este código ya más modificado para que sea con 2 materias quiero sacar el promedio de las dos materias y el promedio del grupo de n alumnos pero no se como ya que declaré las materias como objetos
Código:

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>



class Calificaciones
{

 public:

  Calificaciones();

  void acceder();
  void ingresar();
  void calcular();
  void mostrar();
  void mostrarDatos();
  void validar();

 private:

  float c1;
  float c2;
  float c3;
  int nc;
  float prom;

};

Calificaciones::Calificaciones()
{

 c1=c2=c3=prom=0.0;
 nc=0;

}

void Calificaciones::acceder()
{
 cout<<"\n\n\tIngrese numero de cuenta: ";
 cin>>nc;

 while( nc>999999 || nc<99999 )
  {
   cout<<"\n\t\aNumero de cuenta incorrecto, verifiquelo e ingrese de nuevo: ";
   cin>>nc;
  }

}
void Calificaciones::ingresar()
{

 cout<<"\n\tIngrese calificacion de primer parcial: ";
 cin>>c1;
 cout<<"\n\tIngrese calificacion de segundo parcial: ";
 cin>>c2;
 cout<<"\n\tIngrese calificacion de tercer parcial: ";
 cin>>c3;
 clrscr();

}

void Calificaciones::validar()
{
 c1 = (c1>=0&&c1<=10) ? c1 : 0;
 c2 = (c2>=0&&c2<=10) ? c2 : 0;
 c3 = (c3>=0&&c3<=10) ? c3 : 0;
}

void Calificaciones::calcular()
{

  cout<<"\n\n\n\n\n\n\n\n\n\n\tEl promedio del alumno: "<<nc<<"  se esta calculando...";
  validar();
  prom=(c1+c2+c3)/3;


}


void Calificaciones::mostrar()
{
  //cout<<nc//cuenta que no se repita??
  cout<<setprecision(2)
      <<c1
      <<"     "<<c2
  <<"     "<<c3
      <<setiosflags( ios::fixed || ios::showpoint )
  <<"    "<<prom
      <<( prom < 7 ? " NA" : "  A");

}
void Calificaciones::mostrarDatos()
{

cout<<endl<<" "<<nc<<" ";//cuenta que no se repita??

}

main ()
{

 Calificaciones mat1[' '],mat2[' '];

 int ans,n,i,j,k;   //porque no reconoce i,j,k??
 char regreso='M';
 char ciclo='s';

 cout<<"\n\n\n\t\t\tCuantos alumnos va a ingresar?\t ";
 cin>>n;

 while (ciclo=='s')
 {

  cout<<"\n\n\n\t\t\tQue desea hacer?\n"
      <<"\n\t\t1.-Ingresar\n"
      <<"\n\t\t2.-Calcular\n"
      <<"\n\t\t3.-Mostrar\n"
      <<"\n\t\t4.-Salir\t\t";
  cin>>ans;
  clrscr();


  switch (ans)
  {

   case 1:

    for ( i=1; i<=n; i++)
    {
     regreso='J';
     cout<<"\n\t\tInstrucciones:  Ingrese valores enteros o decimales\n "
      <<" \t\t\t\tcon el rango del 0 al 10\n"
      <<"\t\tPara el numero de cuenta deberan ser de 6 digitos...\0";

     mat1[i].acceder();
     mat1[i].ingresar();
     cout<<"\nMATERIA 2:"<<endl;
     //mat2[i].acceder()=mat1[i].acceder();
     mat2[i].ingresar();
    }

   break;

   case 2:

    clrscr();
    for ( j=1; j<=n; j++)
    {

     if(regreso=='M')
     {
      cout<<"\n\aPrimero ingrese calificaciones para despues calcular!";
     }
     else
     {
      clrscr();
      cout<<endl;
      mat2[j].calcular();
      clrscr();
      mat1[j].calcular();


     }

     getchar();

    }
    clrscr();

   break;

   case 3:

    clrscr();
    cout<<endl<<"                       MATERIA1         MATERIA2 "<<endl;
    //cout<<"\t\tMATERIA1\t\t\t\tMATERIA2 "<<endl;
    cout<<"ºNo_Ctaº"
     <<"     ºC1º"
     <<"   ºC2º"
     <<"   ºC3º"
     <<"  ºPromº"
     <<"    ºC1º"
     <<"   ºC2º"
     <<"   ºC3º"
     <<"  ºPromº\n";

    for ( k=1; k<=n; k++)
    {

     if(regreso=='M')
     {
      cout<<"\n\aNO hay datos para mostrar!!!";
     }
     else
     {
       mat1[k].mostrarDatos();
       cout<<"     ";
       mat1[k].mostrar();
       cout<<"      ";
       mat2[k].mostrar();
     }

     getchar();

    }
    clrscr();

   break;

   case 4:

    clrscr();
    cout<<"\n\n\t\tSaliendo...\a\a\a";
    ciclo='a';

   break;

   default:

    cout<<"\n\n\n\n\t\t\aOpcion invalida vuelva a intentarlo...";

   break;

  }//switchEnd

 }//endWhile

 getchar();

 return 0;
Ahh por cierto intente quitar la de conio.h y remplazarla por otro pero no encontré ninguna eficiente para pausar todas tenían sus desventajas además interrumpe el uso de gotoxy si no la pongo...
4  Programación / Programación C/C++ / Re: N alumnos con clases en: 13 Septiembre 2013, 03:20 am
Muchas gracias había olvidado que podía ser un objeto de tipo array, hoy me lo recordó mi maestra ya lo implemente pero en la función mostrar ya no imprime nada pienso también que podría ser por el "goto" que mencionabas antes, y sobre lo ultimo no lo había tomado en cuenta antes gracias!
5  Programación / Programación C/C++ / N alumnos con clases en: 10 Septiembre 2013, 03:36 am
Hola estoy haciendo un programa que al ingresar tres calificaciones te da el promedio con clases y todo tipo de validaciones lógicas y corre bien pero solo para un alumno ahora quiero que sea para n alumnos pero no se bien como, estaba pensando en que fuera un arreglo bidimensional pero no supe como poner los for anidados en las clases aquí esta el código:
 
Código:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>


class calificaciones
{
 public:
  calificaciones();

  void ingresar();
  float calcular();
  void mostrar();

 private:
  float c1;
  float c2;
  float c3;
  int nc;
  float prom;
};

calificaciones::calificaciones()
{
 c1=c2=c3=prom=0.0;
 nc=0;
}

void calificaciones::ingresar()
{

 clrscr();
 cout<<"\n\t\tInstrucciones: Ingrese valores enteros o decimales "<<endl;
 cout<<" \t\tcon el rango del 0 al 10"<<endl;
 cout<<"\t\tPara el numero de cuenta deberan ser de 7 digitos...";
 cout<<"\n\n\tIngrese numero de cuenta: ";
 cin>>nc;
 while(nc>9999999||nc<999999)
  {
   cout<<"\n\t\aNumero de cuenta incorrecto, verifiquelo e ingrese de nuevo: ";
   cin>>nc;
  }

  cout<<"\n\tIngrese calificacion de primer parcial: ";
  cin>>c1;
  while(c1>10||c1<0)
  {
   cout<<"\n\t\aValor invalido! Ingrese calificacion de primer parcial: ";
   cin>>c1;
  }

  cout<<"\n\tIngrese calificacion de segundo parcial: ";
  cin>>c2;
  while(c2>10||c2<0)
  {
   cout<<"\n\t\aValor invalido! Ingrese calificacion de segundo parcial: ";
   cin>>c2;
  }
  cout<<"\n\tIngrese calificacion de tercer parcial: ";
  cin>>c3;
  while(c3>10||c3<0)
  {
   cout<<"\n\t\aValor invalido! Ingrese calificacion de tercer parcial: ";
   cin>>c3;
  }


}

float calificaciones::calcular()
{

 clrscr();
 prom=(c1+c2+c3)/3;
 return prom;

}


void calificaciones::mostrar()
{
 clrscr();
 cout<<"\n ºNo de Cuentaº"//<<nc;
     <<"\t  º1er Parcialº"//<<c1;
     <<"\t  º2do Parcialº"//<<c2;
     <<"\t  º3er Parcialº"//<<c3;
     <<"\t   º Promedio º";//<<prom;
 gotoxy(69,5);
 //nc=233552;
 //c1=7.1;
 //c2=7.1;
 //c3=7.1;

 if(prom<7) cout<<" Reprobado";
 else
 {
  gotoxy(71,5);
  cout<<"Aprobado";
 }
 gotoxy(7,4);
 cout<<nc;
 gotoxy(24,4);
 cout<<c1;
 gotoxy(40,4);
 cout<<c2;
 gotoxy(56,4);
 cout<<c3;
 gotoxy(73,4);
 cout<<prom;

}

main ()
{
 calificaciones m;
 int ans;
 int ciclo;
 flag:

 clrscr();
 cout<<"\n\t\tQue desea hacer?\n"
     <<"\n\t\t1.-Ingresar\n"
     <<"\n\t\t2.-Calcular\n"
     <<"\n\t\t3.-Mostrar\n"
     <<"\n\t\t4.-Salir\t";
 cin>>ans;



 switch (ans)
 {
  case 1:
   m.ingresar();
   cout<<endl<<"Guardado para regresar al menu presione 7...\t";
   cin>>ciclo;
   while(ciclo!=7)
   {
    cout<<"\n\t\aTecla incorrecta! presiona 7: ";
    cin>>ciclo;
   }
  break;
  case 2:
   m.calcular();
   cout<<endl<<"\n\n\n\n\n\n\n\n\n\t\tCalculando para regresar al menu presione 7...\t";
   cin>>ciclo;
   while(ciclo!=7)
   {
    cout<<"\n\t\aTecla incorrecta! presiona 7: ";
    cin>>ciclo;
   }
  break;
  case 3:
   m.mostrar();
   cout<<endl<<"\n\n\n\t\tHa terminado de leer? presione 7\t";
   cin>>ciclo;
   while(ciclo!=7)
   {
    cout<<"\n\t\aTecla incorrecta! presiona 7: ";
    cin>>ciclo;
   }
  break;
  case 4:
   clrscr();
   cout<<"\n\n\t\tSaliendo...\a\a\a";
   getch();
   exit(1);
  break;

  default:
   for (int i=0;i<1;i++)
   {
   cout<<"\n\n\t\tOpcion invalida vuelva a intentarlo...";
   getch();
   }
   goto flag;

 }

 while (ciclo==7)
 goto flag;
 getch();

 return 0;
}
Espero me puedan ayudar saludos!!
6  Programación / Programación C/C++ / Re: Cambiar la impresion de un arreglo. en: 9 Abril 2013, 20:46 pm
Gracias Leosansan !! Yo le había pensado algo parecido ahora veo que no estaba tan lejos.
Jajaja se ve padre el triangulo que hiciste  ;-) saludos...
7  Programación / Programación C/C++ / Cambiar la impresion de un arreglo. en: 31 Marzo 2013, 23:03 pm
Hola Me pidieron un programa que imprimiera el triángulo de Sierpinski a partir del triangulo de pascal que ya tengo programado, ahora tengo que convertir los que son pares en "0" y los impares en "1", y ahí es donde me quede estancado ¿Como puedo hacer para que a partir de lo que imprima en el triangulo de pascal pueda poner los unos y los ceros? Acá el código:
Código:
#include <stdio.h>
#include <iostream.h>
#include <conio.h>

int pasc[' ']={0};
int x=0,n;
void llenar()
{

 cout<<"\tIngrese hasta que linea: ";
 cin>>n;
}
void pascalizar()
{

 for (int i=0; i<n ; i++)
 {
  for (int j=x; j>=0; j--)
  {
   if(j==x || j==0)
   {
    pasc[j] = 1;
   }
   else
   {
    pasc[j] = pasc[j] + pasc[j-1];
   }
  }
  x++;
  cout<<"\n";
   for(int j=0; j<x; j++)
   {
    cout<<"\t"<<pasc[j];
   }
 }
}
void main (void)
{

llenar();
clrscr();
pascalizar();
getch();
}
Gracias de antemano :)
8  Programación / Programación C/C++ / Re: Calcular mas de una moda en: 22 Marzo 2013, 00:04 am
ok gracias ya lo corregi pero no se como hacer esto:
el segundo para imprimir todos los números que cumplan con ese requisito (así imprimes la moda cuando esta son dos o mas números).

9  Programación / Programación C/C++ / Calcular mas de una moda en: 19 Marzo 2013, 01:38 am
Como todos sabemos la moda es un termino que se utiliza en Estadística para saber cual es el numero que mas se repite.
Mi programa ordena números aleatorios y arroja la media la mediana y la moda y al estarlo corriendo me di cuenta que si hay mas de un número que se repite mas, entonces imprime el ultimo que se repitió en vez de los 2 o 3 que se repitieron aquí esta el código:
Código
  1. #include <stdio.h>
  2. #include <iostream.h>
  3. #include <conio.h>
  4. #include <stdlib.h>
  5. void main (void)
  6. {
  7. clrscr();
  8. int arreglo[10],x,cont,mod;
  9. float Prom;
  10. randomize();
  11. cout<<"***Metodo Burbuja, Media,mediana,moda***\a"<<endl;
  12. for (int i=0;i<10;i++)
  13. {
  14.  arreglo[i]=random(10)+1;
  15.  cout<<arreglo[i]<<" ";
  16. }
  17. getch();
  18. for(int j=0;j<10;j++)
  19.  {
  20.   for(int k=0;k<10;k++)
  21.   {
  22.    if(arreglo[j]>arreglo[k])
  23.    {
  24.     x=arreglo[k];
  25.     arreglo[k]=arreglo[j];
  26.     arreglo[j]=x;
  27.    }
  28.   }
  29.  }
  30. cout<<"\n";
  31. for(int l=9;l>=0;l--)
  32. {
  33.  cont=0;
  34.  
  35.  cout<<arreglo[l]<<" ";
  36.  for(int a=9;a>=0;a--)
  37.  {
  38.   if(arreglo[l]==arreglo[a])
  39.   {
  40.    cont++;
  41.   }
  42.   if(cont>=2)
  43.   {
  44.    mod=arreglo[l];
  45.   }
  46.  }
  47. }
  48. for(int b=9;b>=0;b--)
  49. {
  50. Prom=Prom+arreglo[b];
  51. }
  52. Prom=Prom/10;
  53. cout<<"\n\20 Media: "<<Prom;
  54. cout<<"\n\20 Mediana: "<<arreglo[5]<<" "<<arreglo[4];
  55. cout<<"\n\20 Moda: "<<mod;
  56.  
  57. getch();
  58. }
10  Programación / Programación C/C++ / Re: Frecuencia en una serie numeria aleatoria en: 12 Marzo 2013, 03:44 am
oigan! muchas gracias a todos!! si me ayudo a resolver el problema y ademas a estructurar el siguiente programa que me dejaron :D
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines