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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: [1]
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++ / 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!!
4  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 :)
5  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. }
6  Programación / Programación C/C++ / Frecuencia en una serie numeria aleatoria en: 6 Marzo 2013, 03:17 am
Hola pues me trabe con algo en este programa que consiste en imprimir 30 numeros aleatorios del 1 al 10 y dar la frecuencia de cada numero donde me trabe fue en lo ultimo ya que no supe donde ubicar el switch-case
El código es este:
Código
  1. #include <stdio.h>
  2. #include <iostream.h>
  3. #include <conio.h>
  4. #include <stdlib.h>
  5. void main (void)
  6. {
  7. int arry[29],f[9];
  8. randomize();
  9.  
  10. for (int i=0;i<=29;i++)
  11. {
  12.  
  13.  arry[i]=random(9)+1;
  14.  switch(arry[i])
  15.   {
  16.   case 1:
  17.    f[0]+1;
  18.   break;
  19.   case 2:
  20.    f[1]+1;
  21.   break;
  22.   case 3:
  23.   f[2]+1;
  24.   break;
  25.  
  26.   case 4:
  27.   f[3]+1;
  28.   break;
  29.  
  30.   case 5:
  31.   f[4]+1;
  32.   break;
  33.  
  34.   case 6:
  35.   f[5]+1;
  36.   break;
  37.   case 7:
  38.   f[6]+1;
  39.   break;
  40.   case 8:
  41.   f[7]+1;
  42.   break;
  43.   case 9:
  44.   f[8]+1;
  45.   break;
  46.   case 10:
  47.   f[9]+1;
  48.   break;
  49.   }
  50.  
  51.  
  52. }
  53. for (int j=0;j<=29;j++)
  54.  {
  55.  
  56.   cout<<arry[j]<<" ";
  57.  }
  58. for(int k=0;k<=9;k++)
  59.  {
  60.   cout<<"\n Frecuencia: "<<f[k];
  61.  }
  62.  
  63. getch();
  64. }
7  Programación / Programación C/C++ / Ayuda con arreglos. en: 5 Marzo 2013, 21:47 pm
Es un programa que imprime los numeros del 1 al 100, el resultado de la suma de los pares y el resultado de la suma de los impares.(debe de utilizar dos arreglos uno que arroje la serie y otro el resultado de las sumas)
La serie si la imprime bien pero al momento de que mando a imprimir las sumas me arroja valores basura, el código es este:
Código
  1. #include <stdio.h>
  2. #include <iostream.h>
  3. #include <conio.h>
  4. #include <windows.h>
  5. #include <stdlib.h>
  6. void main (void)
  7. {
  8. clrscr();
  9. int arryc[99],arryS[99],spar=0,simp=0;
  10.  //sleep()=[500];
  11.  cout<<"Serie: "<<endl;
  12.  cout<<"\n";
  13.  for(int i=0;i<=99;i++)
  14.  {
  15.   arryc[i]=i+1;
  16.  
  17.   cout<<arryc[i]<<"\t";
  18.  }
  19.  arryS[99]=0;
  20.  for (int i=0; i<=99;i++)
  21.  {
  22.  
  23.   if ( arryS[i] % 2 == 0)
  24.   {
  25.   //arryS[i]=0;
  26.   spar=spar+arryS[i];
  27.   //spar+=arryS[i];
  28.   }
  29.   else
  30.   {
  31.   //arryS[i]=0;
  32.   simp=simp+arryS[i];
  33.   //simp+=arryS[i];
  34.   }
  35.  }
  36.  cout<<"\nSuma pares:  ";
  37.  cout<<spar<<endl;
  38.  cout<<"\nSuma impares: ";
  39.  cout<<simp<<endl;
  40.  getch();
  41. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines