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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Lectura de una matriz en un archivo en: 13 Mayo 2014, 01:31 am
SOLUCIONADO

Código
  1. # include <iostream>
  2. # include <conio2.h>
  3. # include <stdio.h>
  4. # include <windows.h>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.   FILE *fichero;
  11.   int i,j, matriz[12][10];
  12.  
  13.           /* inicializa matriz a 0 */
  14.   for (i = 0; i < 12; i++)
  15.      for (j = 0; j < 5; j++)
  16.    matriz[i][j] = 0;
  17.  
  18.   fichero = fopen("C:/ventas.txt","r");
  19.   if (fichero==NULL)
  20.   {
  21.      printf( "No se puede abrir el fichero.\n" );
  22.      system("pause");
  23.      exit (EXIT_FAILURE);
  24.   }
  25.   i = 0;
  26.   while (1)
  27.   {
  28.      if (feof(fichero))
  29.    break;
  30.      fscanf (fichero, "%d %d %d %d %d\n", &matriz[i][0], &matriz[i][1], &matriz[i][2], &matriz[i][3], &matriz[i][4]);
  31.      i++;
  32.   }
  33.   fclose(fichero);
  34.  
  35.   printf( "Contenido del fichero:\n" );
  36.   for (i = 0; i < 12; i++)
  37.   {
  38.      for (j = 0; j < 5; j++)
  39.      {  
  40.      printf ("%d ", matriz[i][j]);
  41.  
  42.      }
  43.      printf ("\n");
  44.   }
  45.   system ("PAUSE");
  46.   return EXIT_SUCCESS;
  47. }
  48.  
  49.  
2  Programación / Programación C/C++ / LLENAR UNA MATRIZ DISPERSA LISTA TRIPL en: 28 Marzo 2014, 06:47 am
Que tal gente resulta que ando haciendo un programa para llenar, sumar, multiplicar, sacar el prom,etc. y cuando intento llenar los datos con sus columna y filas al finalizar antes de entrar al menú me saca del programa, me ayudan?

Código
  1. #include<iostream>
  2. #include<conio2.h>
  3. #include<stdio.h>
  4.  
  5. using namespace std;
  6. //parametrización
  7. void LLENAR_f(int [3][100],int ,int ,int );
  8. void SUAMAR_f(int [3][100]);
  9. void MULTIPLICAR_f(int [3][100]);
  10. void REDIMENCIONAR_f(int [3][100]);
  11. void PROM_FILA_f(int[3][100]);
  12. void CANTIDAD_IMPARES_f(int [3][100]);
  13.  
  14. int main()
  15. {  
  16.    int MDlistrip[3][100]={0};
  17.    float R[3][100]={0};
  18.    int NF,NC,ND;
  19.    short op;
  20.    cout<<"\nIngrese numero de Filas";
  21.    cin>>NF;
  22.    cout<<"\nIngrese numero de Columnas";
  23.    cin>>NC;
  24.    cout<<"\nIngrese numero de Datos";
  25.    cin>>ND;
  26.    LLENAR_f(MDlistrip,NF,NC,ND);
  27.    do
  28.    {
  29.        gotoxy(15,1);
  30.        cout<<"Menu Principal";
  31.        cout<<"\nSumar dos matrices dispersas 1:";
  32.        cout<<"\nMultiplicar dos matrices dispersas 2:";
  33.        cout<<"\nEncontrar la traspuesta de ambas matrices dispersas 3:";
  34.        cout<<"\nMostrar el promedio de cada fila 4:";
  35.        cout<<"\nMostrar la cantidad de impares de cada columna 5:";
  36.        cout<<"\nMostrar las matrices dispersas 6:";  
  37.        cout<<"\nIngrese dato del menu:";
  38.        cin>>op;
  39.        switch(op)
  40.        {
  41.            case 1 : SUAMAR_f(MDlistrip) ;break;
  42.            case 2 : MULTIPLICAR_f(MDlistrip);break;
  43.           // case 3 : TRASPUESTAS_f();break;
  44.            case 4 : PROM_FILA_f(MDlistrip);break;
  45.            case 5 : CANTIDAD_IMPARES_f(MDlistrip);break;
  46.            case 6 : ;break;  
  47.        }
  48.     }while(op>=1||op<=6);
  49.    system("PAUSE");
  50.  
  51.    return EXIT_SUCCESS;
  52. }
  53.  
  54. void LLENAR_f(int MDlistrip[3][100],int NF,int NC,int ND)
  55. {
  56.     float dat;
  57.     int f,c;
  58.     short i,j;
  59.     MDlistrip[0][0]=NF;
  60.     MDlistrip[0][1]=NC;
  61.     MDlistrip[0][3]=ND;
  62.     for(i=1;i<=MDlistrip[0][3]+1;i++)
  63.     {
  64.            cout<<"\nIngrese Filas";
  65.            cin>>MDlistrip[i][0];
  66.            cout<<"\nIngrese Columnas";
  67.            cin>>MDlistrip[i][1];
  68.            cout<<"\nIngrese Dato";
  69.            cin>>MDlistrip[i][2];  
  70.     }
  71. }
  72. void SUAMAR_f(int MDlistrip[3][100])
  73. {
  74.    int MDlistripB[3][100]={0};
  75.    int MDlistripR[3][100]={0};
  76.    int NF,NC,ND;
  77.    short k=1;
  78.    cout<<"\nIngrese numero de Filas de la matriz B";
  79.    cin>>NF;
  80.    cout<<"\nIngrese numero de Columnas de la matriz B";
  81.    cin>>NC;
  82.    cout<<"\nIngrese numero de Datos de la matriz B";
  83.    cin>>ND;
  84.    LLENAR_f(MDlistripB,NF,NC,ND);
  85.    while ((k<= MDlistripB[0][2]+1)&&(k<=MDlistrip[0][2]+1))
  86.    {
  87.          if((MDlistripB[k][0]==MDlistrip[k][0])&&(MDlistripB[k][1]==MDlistrip[k][1]))
  88.          {
  89.             MDlistripR[k][0]=MDlistrip[k][0];
  90.             MDlistripR[k][0]=MDlistrip[k][0];
  91.             MDlistripR[k][2]=MDlistrip[k][2]+MDlistripB[k][2];
  92.             k++;
  93.          }
  94.          else
  95.          {
  96.              if(MDlistrip[k][0]<MDlistripB[k][0])
  97.              {
  98.                   MDlistripR[k][0]=MDlistripB[k][0];
  99.                   MDlistripR[k][0]=MDlistripB[k][1];
  100.                   MDlistripR[k][0]=MDlistripB[k][2];
  101.                   k++;
  102.                   MDlistripR[k][0]=MDlistripB[k][0];
  103.                   MDlistripR[k][0]=MDlistripB[k][1];
  104.                   MDlistripR[k][0]=MDlistripB[k][2];
  105.                   k++;
  106.              }
  107.              else if (MDlistrip[k][0]>MDlistripB[k][0])
  108.              {
  109.                   MDlistripR[k][0]=MDlistripB[k][0];
  110.                   MDlistripR[k][0]=MDlistripB[k][1];
  111.                   MDlistripR[k][0]=MDlistripB[k][2];
  112.                   k++;
  113.                   MDlistripR[k][0]=MDlistripB[k][0];
  114.                   MDlistripR[k][0]=MDlistripB[k][1];
  115.                   MDlistripR[k][0]=MDlistripB[k][2];
  116.                   k++;
  117.              }
  118.          }
  119.  
  120.    }
  121. }
  122. void MULTIPLICAR_f(int MDlistrip[3][100])
  123. {
  124.    int MDlistripB[3][100]={0};
  125.    int MDlistripR[3][100]={0};
  126.    int NF,NC,ND;
  127.    short k=1;
  128.    cout<<"\nIngrese numero de Filas de la matriz B";
  129.    cin>>NF;
  130.    cout<<"\nIngrese numero de Columnas de la matriz B";
  131.    cin>>NC;
  132.    cout<<"\nIngrese numero de Datos de la matriz B";
  133.    cin>>ND;
  134.    LLENAR_f(MDlistripB,NF,NC,ND);
  135.    if ((MDlistripB[0][0]==MDlistripB[0][0])&&(MDlistripB[0][0]==MDlistripB[0][0]))
  136.    {
  137.        if((MDlistripB[k][0]==MDlistrip[k][0])&&(MDlistripB[k][1]==MDlistrip[k][1]))
  138.          {
  139.             MDlistripR[k][0]=MDlistrip[k][0];
  140.             MDlistripR[k][0]=MDlistrip[k][0];
  141.             MDlistripR[k][2]=MDlistrip[k][2]*MDlistripB[k][2];
  142.             k++;
  143.          }
  144.          else
  145.          {
  146.  
  147.          }
  148.    }
  149.    else
  150.    {
  151.        cout<<"\nNo se puede multiplicar las matrices";
  152.    }
  153. }
  154. void REDIMENCIONAR_f(int MDlistripR[3][100])
  155. {
  156.     int k;
  157.     float aux[3][100];
  158.     for (k=0;k<=(MDlistripR[0][2]+1);k++)
  159.     {
  160.         aux[k][0]=MDlistripR[k][0];
  161.         aux[k][1]=MDlistripR[k][1];
  162.         aux[k][2]=MDlistripR[k][2];
  163.     }
  164. }
  165.  
  166.  
  167. void PROM_FILA_f(int MDlistrip[3][100])
  168. {
  169.     int f;
  170.     short i,k;
  171.     float prom,ac=0;
  172.     cout<<"\nQue fila desea sacar el promedio?:\t";
  173.     cin>>f;
  174.     for (i=1;i<=(MDlistrip[0][2]+1);i++)
  175.     {
  176.         if(MDlistrip[i][0]=f)
  177.         {
  178.             for(k=i;k<=f;k++)
  179.             {
  180.                ac=ac+MDlistrip[i][2];
  181.             }
  182.  
  183.         }
  184.     }
  185.     prom=ac/MDlistrip[0][1];
  186.     cout<<prom;
  187. }
  188.  
  189. void CANTIDAD_IMPARES_f(int MDlistrip[3][100])
  190. {
  191.     int c, ac=0;
  192.     short i,k;    
  193.     cout<<"\nQue columna quiere ver impares?:\t";
  194.     cin>>c;
  195.     for (i=1;i<=(MDlistrip[0][2]+1);i++)
  196.     {
  197.         if(MDlistrip[i][1]=c)
  198.         {
  199.             for(k=i;k<=c;k++)
  200.             {
  201.                if(MDlistrip[k][2] %2 !=0 )
  202.                {
  203.                    ac=ac+1;
  204.                }
  205.             }
  206.  
  207.         }
  208.     }
  209.     cout<<"\nHay",ac,"impares en la columna",c;
  210.  
  211. }
  212. void MOSTRAR_f(int MDlistrip[3][100])
  213. {
  214.     short k;
  215.     for (k=0;k<=(MDlistrip[0][2]+1);k++)
  216.     {
  217.         cout<<MDlistrip[k][0],"\n";
  218.         cout<<MDlistrip[k][1],"\n";
  219.         cout<<MDlistrip[k][2],"\n";
  220.  
  221.     }
  222. }
  223.  
3  Programación / Programación C/C++ / Re: Eliminar datos de un VECTOR en C++ en: 10 Marzo 2014, 04:48 am
Discúlpame soy nuevo y no tenia idea
Bueno logre modificarle algo pero me sigue presentando algunos problemas

Código
  1. void MENU_DE_OPCIONES (long Vec_2[], short T_v)
  2. {
  3.    int k,opt;
  4.    short I,adic,aux,ced,encontrado=0;
  5.  
  6.    cout<<"\n\n1. Adicionar Participante: "<<endl;
  7.    cout<<"2. Eliminar Participante: "<<endl;
  8.    cout<<"3. Buscar Participante: "<<endl;
  9.    cout<<"4. : "<<endl;
  10.    cout<<"\nElija una opcion 1 , 2 , 3 o 4 : ";cin>>opt;
  11.    switch(opt)
  12.  
  13.  
  14.    {
  15.           case 1:
  16.           {
  17.                  cout << "\ndigite cedula del nuevo participante  " ;
  18.                  cin >> ced;  
  19.                 while(k >(T_v-1)||k < 0);
  20.                 T_v++;
  21.                 for(I = T_v-1;I >= k;I--)
  22.                    {
  23.                        Vec_2[I+1]= Vec_2[I];
  24.                        if( k == I )
  25.                        Vec_2[k]= ced;        
  26.                    }
  27.                    for (I = 0; I < T_v; I++)
  28.   {
  29.      cout << "\nParticipante : " << I+1 << " " << Vec_2[I];
  30.   }
  31.                break;
  32.  
  33.             }            
  34.  
  35.            case 2:
  36.                 {
  37.                        cout << "Digite cedula que desea eliminar " ;cin >> ced;
  38.  
  39.                    for(I=0;I<T_v;I++)                                  
  40.                    {
  41.                        if (Vec_2[I]=ced)
  42.                        ;
  43.                        {
  44.                        Vec_2[I]=Vec_2[I+1];
  45.                        }
  46.                    }
  47.                        T_v--;
  48.                    for (I = 0; I < T_v; I++)
  49.                    {
  50.                     cout << "\nParticipante : " << I+1 << " " << Vec_2[I];
  51.                    }
  52.  
  53.                }break;
  54.  
  55.  
  56.  
4  Programación / Programación C/C++ / Eliminar datos de un VECTOR en C++ en: 10 Marzo 2014, 03:58 am
Buenas gente que tal
tengo un pequeño problema y es que cuando intento eliminar el 2 o 3.. me borra siempre el 1ro alguien me colabora?
Gracias.

case 2:
                 {
                        cout << "Digite cedula que desea eliminar " ;cin >> ced;
                    while( k >(T_v-1)|| k < 0);
                    for(I=0; I<T_v; I++)                                   
                    {
                        Vec_2=Vec_2[I+1];
                    }
                        T_v--;
                    for (I = 0; I < T_v; I++)
                    {
                     cout << "\nParticipante : " << I+1 << " " << Vec_2;
                    }
               
                }break;
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines