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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 ... 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 [106] 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 ... 132
1051  Programación / Programación C/C++ / Re: modificar a la función c++ en: 24 Enero 2013, 16:29 pm
......................... ¿qué debería modificar para que no me mostrara solamente la primera posición sino todas?

Aunque no le guste el while a flony  ::)  para no cambiarte mucho el código:
Código
  1. #include<iostream>
  2. #include<vector>
  3. #include<cstdlib>/*<==HACE FALTA PARA SYSTEM ¡ ¡ ¡*/
  4. using namespace std;
  5.  
  6.  
  7. bool divisor(vector<int>v,int m){
  8. int i=0;
  9.    bool encontrado=false;
  10.    while(i<v.size() ){
  11.      if(v[i]%m==0)
  12.        cout<<"el elemento divisibles es: v["<<i<<"]= "<<v[i]<<endl;
  13.      i++;
  14.    }
  15. }
  16.  
  17.  
  18.  
  19. int main (){
  20.  
  21.    int n,i=0,e,m;
  22.    cout<<endl<<"Entre el divisor...";
  23.    cin>>m;
  24.    cout << endl << "Entre el número de elementos del vector...";
  25.    cin >> n;
  26.    vector<int> v(n);
  27.    for(i=0;i<n;i++){
  28.                     cout << "Entre el elemento " << i+1<< " del vector...";
  29.                     cin >>v[i];/*<==que es eso de: cin >> e;y luego v[i] = e;*/
  30.                     }
  31.    cout << endl;
  32.  
  33.    cout<<divisor(v,m)<<endl;
  34.    cout<<endl;
  35.    system("pause");
  36.    return 0;}
  37.  
Saluditos!.
1052  Programación / Programación C/C++ / Re: comparar un elemento con un vector c++ en: 24 Enero 2013, 16:03 pm
                      ...........................

y si ahora quisiera que el programa me mostrará cierto si el valor a comparar es igual a todos los elementos del vector y falso si es distinto ¿qué matiz haría falta modificar?

Código
  1. bool todosiguales(vector<int>v,int n,int e){
  2.  for(int i=0;i<n;i++){
  3.    if(v[i]==e)
  4.     return  true;
  5.    else
  6.     return false;
  7.  }
  8. }
Saluditos!.
1053  Programación / Programación C/C++ / Re: Ordenar siguiendo el mismo orden dos tablas independientes en: 23 Enero 2013, 22:23 pm
                   .............................................
Pongo un ejemplo: si tabla1[3][1]={(3),(1),(2)} y tabla2[3][1]={(a),(b),(c)}, quiero ordenar tabla1[3][1] de menor a mayor así: {(1),(2),(3)} y poner en ese orden tabla2[3][1], de manera que quede: {(b),(c),(a)}, porque b ocupa el lugar de 1, c el de 2 y a el de 3.

Como tienes que ordenar la tabla numérica, aprovechas y te ordena al mismo tiempo la alfabética:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void){
  5.  int i,j,n=3,auxn,num[3] = {3, 1, 2};
  6.  char ch[3] = {'a', 'b', 'c'},aux;
  7.    /* Ordenacion mediante Burbuja */
  8.    for (i=1; i< n; i++){
  9.      for (j=0; j< n-i; j++)
  10.         if (num[j] > num[j+1]){
  11.  
  12.            auxn =num[j];
  13.            num[j]=num[j+1];
  14.            num[j+1]=auxn;
  15.            aux = ch[j];
  16.            ch[j] = ch[j + 1];
  17.            ch[j + 1] = aux;
  18.        }
  19.   }
  20.  for (i = 0; i < n; i++)
  21.    printf(" %d ", num[i]);
  22.  putchar('\n');
  23.  for (i = 0; i < n; i++)
  24.    printf(" %c", ch[i]);
  25.  putchar('\n');
  26.  return EXIT_SUCCESS;
  27. }
  28.  
Saluditos!.
1054  Programación / Programación C/C++ / Re: comparar un elemento con un vector c++ en: 23 Enero 2013, 19:24 pm
Hola, hago un programa que consiste en comparar un vector con un número, (función booleana). No se que sucede pero me devuelve siempre el valor "true". Si el elemento está en el vector me devuelve "true" y si no está también.  :(

Citar
......................................................
                            cin>>v;
                           v=e;<==ESTO QUE ES ¡ ¡ ¡
                            }
    cout<<"introduzca el elemento a comparar"<<endl;
    cin>>m;

    ....................................................................


Y poco más:
Código
  1. #include<iostream>
  2. #include<vector>
  3. #include<cstdlib>
  4. #include<clocale>
  5. using namespace std;
  6. bool todosiguales(vector<int>v,int n,int e){
  7.  for(int i=0;i<n;i++){
  8.    if(v[i]==e)
  9.    return  true;
  10.    }
  11.    return false;
  12. }
  13.  
  14. int main(){
  15.    int n, m, e,i;
  16.    setlocale(LC_ALL, "Spanish");
  17.    cout<<"introduzca el tamaño del vector: ";
  18.    cin>>n;
  19.    vector<int>v(n);
  20.    for(i=0;i<n;i++){
  21.       cout<<"Introduzca el elemento "<<i+1<<" del vector: ";
  22.       cin>>v[i];
  23.    }
  24.    cout<<"introduzca el elemento a comparar: ";
  25.    cin>>m;
  26.  
  27.    if(todosiguales(v,n,m)){cout<<"es identico el vector respecto el elemento"<<endl;}
  28.    else{cout<<"el vector es distinto respecto el elemento"<<endl;}
  29.    system ("pause");
  30.    return 0;
  31.    }
  32.  
1055  Programación / Programación C/C++ / Re: calcular moda c++ en: 23 Enero 2013, 15:33 pm
....................................................

La moda es el elemento que más veces se repite en el vector.


Y sin recurrir a la librería map:
Código
  1. #include <iostream>
  2. #include<vector>
  3. #include<cstdlib>
  4. using namespace std;
  5.  
  6. int main(){
  7.  
  8.    int edad,personas,i,j,moda=0,frecuencia;
  9.    cout<<"introduzca el numero de personas: ";
  10.    cin>>personas;
  11.    vector<int>v(personas);
  12.    vector<int>n(personas);
  13.    for(i=0;i<personas;i++){
  14.        cout<<"Ingrese la edad de la "<<i+1<<" persona: ";
  15.        cin>>edad;
  16.        v[i]=edad;
  17.        for( j = i-1; j >=0 ; j--){
  18.            if(v[i] == v[j]){
  19.                n[j]++;
  20.                if(n[j]>moda){
  21.                  moda=i;frecuencia=n[j];
  22.                }
  23.            }
  24.        }
  25.    }
  26.    cout<<endl<<"Moda= "<<v[moda]<<"=> "<<frecuencia+1<<endl;
  27.    system("PAUSE");
  28.    return 0;
  29. }
  30.  
Saluditos!,
P.D: Muy interesante la mencionada librería. ;)
1056  Programación / Programación C/C++ / Re: [Ayuda] Matriz para rellenar una tabla en: 18 Enero 2013, 19:47 pm

....... Se pide: hacer un programa que llene la tabla de valores y nos diga el total de alumnos matriculados de cada asignatura.

Supongo que te referías a algo como esto:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define  FILAS   6
  4. #define  COLUMNAS 8
  5. int main() {
  6.  int f,c;
  7.  int mat[FILAS][COLUMNAS],asignatura[FILAS]={0};
  8.   // filas corresponden a los grupos
  9.  // columnas corresponde a las asignaturas
  10.   // matriz 1
  11.  for (f=0;f<FILAS;f++){
  12.      for (c=0;c<COLUMNAS;c++){
  13.          printf("Escribe el numero de alumnos del grupo %d de la asignatura %d: ",f+1,c+1);
  14.          scanf("%d",&mat[f][c]);
  15.      }
  16.  }
  17.  for (c=0;c<COLUMNAS;c++)
  18.    for (f=0;f<FILAS;f++)
  19.      asignatura[c]+=mat[f][c];
  20.  
  21.  for (c=0;c<COLUMNAS;c++)
  22.    printf("Numero de alumnos de la asignatura %d: %d\n",c+1,asignatura[c]);
  23.  
  24.  system("PAUSE");
  25.  return 0;
  26. }
  27.  
Saluditos!.
1057  Programación / Programación C/C++ / Re: [Ayuda] Punteros y Arrays en C en: 16 Enero 2013, 22:33 pm
Mi idea era que avanzase hacia arriba hasta llegar al dos y luego se lo "comiera" quedando un cinco solo en la matriz.
Pues se lo come:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void mostrar(int m[3][3]) {
  5. int i, j;
  6.  
  7. for(i=0; i<3; i++){
  8. for(j=0; j<3; j++){
  9. printf("%d ", m[i][j]);
  10. }
  11. printf("\n");
  12. }
  13. printf("\n");
  14. }
  15.  
  16. int main () {
  17. int m[3][3] = {0, 2, 0, 0, 0, 0, 0, 0, 3};
  18.  int i, j,i_i,i_f,j_i,j_f;
  19.  
  20. for(i=0; i<3; i++){
  21. for(j=0; j<3; j++){
  22. if (m[i][j]==2){
  23.          i_f=i;j_f=j;
  24.      }
  25. if (m[i][j]==3){
  26.  i_i=i;j_i=j;
  27.      }
  28. }
  29. }
  30. mostrar(m);
  31.  while (i_i!=0){
  32.    if (i_i>i_f){
  33.    m[i_i-1][j_i]+=m[i_i][j_i];m[i_i][j_i]=0;i_i--;
  34.    mostrar(m);
  35.    }
  36.    /***** caso if (i_i<i_f)  ****/
  37.  }
  38.  while (j_i!=0){
  39.    if (j_i>j_f){
  40.    m[i_i][j_i-1]+=m[i_i][j_i];m[i_i][j_i]=0;j_i--;
  41.    mostrar(m);
  42.    }
  43.     /***** if (j_i<j_f)  ****/
  44.  }
  45.  return 0;
  46. }
  47.  
  48.  
Quedaría por implementar los dos casos que marco para hacerlo más general.
Saluditos!.
P.D: ¿Para qué querías los punteros?:
REEDITO:contestaban antes mientras escribía este post.
1058  Programación / Programación C/C++ / Re: Ayuda con matriz traspuesta en: 16 Enero 2013, 13:33 pm

........... Un programa nos pide los elementos de una matriz 3x3 y nos escribe la matriz traspuesta y la suma de las dos matrices.


Sólo comentarte que te fijes en cómo se calcula la traspuesta.
Hay algunas correcciones menores, como en el scanf e inicializar la traspuesta con la original para luego cambiarla:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5. int f,c,temp1,temp2;
  6. int mat[3][3];
  7. int result[3][3];
  8. int traspuesta[3][3];
  9.  
  10. // MATRIZ INICIAL
  11.    for (f=0;f<3;f++){
  12.        for (c=0;c<3;c++){
  13.             printf("Escribe un numero para la matriz: (%d %d)= ",f,c);
  14.             scanf("%d",&mat[f][c]);
  15.        traspuesta[f][c]=mat[f][c];
  16.        }
  17. }
  18. puts ("MATRIZ INICIAL\n");
  19. for (f=0;f<3;f++){
  20.            for (c=0;c<3;c++) {
  21.                     printf("%d  ",mat[f][c]);
  22.                }puts("\n");
  23.        }puts("\n");
  24. // TRASPUESTA
  25.    for (f=0;f<3;f++)
  26.        for (c=0;c<3 && c<f;c++) {
  27.                temp1=traspuesta[f][c];
  28.                temp2=traspuesta[c][f];
  29.                traspuesta[c][f]= temp1;
  30.                traspuesta[f][c]= temp2;
  31.            }
  32.  puts ("MATRIZ SIMETRICA O TRASPUESTA\n");
  33.  for (f=0;f<3;f++)  {
  34.            for (c=0;c<3;c++) {
  35.                     printf("%d  ",traspuesta[f][c]);
  36.                }puts("\n");
  37.        }puts("\n");
  38. // RESULTADO
  39.    for (f=0;f<3;f++){
  40.        for (c=0;c<3;c++){
  41.        result[f][c]=mat[f][c]+traspuesta[f][c];
  42.        }
  43. }
  44. // MUESTRA LA SUMA
  45.    for (f=0;f<3;f++){
  46.        printf("\n|");
  47.        for (c=0;c<3;c++){
  48.          printf(" %d ",result[f][c]);
  49.        }
  50.        printf("|");
  51.    }
  52.    system("PAUSE");
  53.    return 0;
  54. }
  55.  
Saluditos!:
1059  Programación / Programación C/C++ / Re: Programa Loteria en: 14 Enero 2013, 22:16 pm
Citar
Interesante.
¿Puedes adelantar algo del código que llevas hecho?.
¡Oh, terrible duda!, ¿será que pretendes que te hagamos el trabajo?.
No por Dios, por qué seré tan mal pensado, seguro que no tardas en colgar el código y plantearas sólo las dudas que tienes.
:rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
1060  Programación / Programación C/C++ / Re: Dudas imprimir listado y doble o nada continuo en: 12 Enero 2013, 15:33 pm
Para el primer caso creo que te valdrá:
Código
  1. int i,bisiestos=0,START=1900,END;
  2. printf("Introduzca el a\xA4o en el que nos encontramos: ");
  3. scanf("%d", &END);
  4. for ( i=START;i<=END ;i+=4 )
  5. if  (i%4 ==0 && i%100!=0 ||  (i%400==0))
  6.    bisiestos++;
  7. printf("Hay %d a\xA4os bisiestos entre %d y %d", bisiestos, START, END);
Y para el segundo caso creo que bastaría con incluir :
Código
  1. if (total==0) {
  2. printf("\nIntroduce la cantidad a Apostar :  ");
  3.                        scanf("%d",&numero);
  4. }
dentro del do.
Saluditos!.
Páginas: 1 ... 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 [106] 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 ... 132
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines