Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: flony en 14 Octubre 2010, 19:47 pm



Título: duda resultado de matriz [resuelto y con for incluido :) ]
Publicado por: flony en 14 Octubre 2010, 19:47 pm
hola gente estaba practicando un poco de c++ y queria ver los datos de una matriz
aclaro me salio pero queria ver xq salieron estos resultados en la busqueda de mi practica
1° el codigo bien  ;-)
Código:
#include <iostream>
using namespace std;
int main ()
{
    int a,b,c;
    int matriz [2];
    cout << "ingrese la nota: \n";
    cin>>a;
    cout << "ingrese la nota: \n";
    cin>>b;
    cout <<"ingrse nota: \n";
    cin>>c;
    matriz[0] = a;
    matriz[1] = b;
    matriz[2] = c;
    cout <<"los datos ingresados son "<< matriz[0] << endl;
    cout <<"los datos ingresados son "<< matriz[1] << endl;
    cout <<"los datos ingresados son "<< matriz[2] << endl;
    system("PAUSE");
    return 0;
}
pero ahora los resultados raros
Código:
#include <iostream>
using namespace std;
int main ()
{
    int a,b,c;
    int matriz [2];
    cout << "ingrese la nota: \n";
    cin>>a;
    cout << "ingrese la nota: \n";
    cin>>b;
    cout <<"ingrse nota: \n";
    cin>>c;
    cout <<"la matriz es "<< matriz[a,b,c]<< endl;
    system("PAUSE");
    return 0;
}
da como rdo -858993460
y la segunda
Código:
#include <iostream>
using namespace std;
int main ()
{
    int a,b,c;
    int matriz [2];
    cout << "ingrese la nota: \n";
    cin>>a;
    cout << "ingrese la nota: \n";
    cin>>b;
    cout <<"ingrse nota: \n";
    cin>>c;
    cout <<"la matriz es "<< matriz<< endl;
    system("PAUSE");
    return 0;
}
y el rdo es 0012FF38


Título: Re: duda rdo de matriz
Publicado por: Horricreu en 14 Octubre 2010, 19:59 pm
En ambos códigos, reservas demasiada poca memoria para los arreglos; y para imprimirlos, puedes usar el bucle for().


Título: Re: duda rdo de matriz
Publicado por: flony en 14 Octubre 2010, 20:03 pm
lo de reservar poca memoria...estoy estudiando eso  :-[ ahora con un bucle for  :silbar: si seguro se puede hacer  :rolleyes: pero los resultados es lo raro.. :huh: y queria saber xq?


Título: Re: duda resultado de matriz
Publicado por: Horricreu en 14 Octubre 2010, 20:14 pm
A ver, escúchame atentamente :D No te imprime por pantalla correctamente porque:

  • Reservas poca memoria.
  • Imprimes de una forma incorrecta.

¿Por qué reservas poca memoria? Tú quieres introducir 3 notas y, sólo reservas para 2. Fíjate cómo reservas el arreglo.

¿Por qué no te imprime en pantalla? Lo haces de forma incorrecta. Fíjate en el siguiente ejemplo:

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7. int arreglo[2] = {1, 2};
  8.  
  9. cout << arreglo[0] << " " << arreglo[1] << endl;
  10.  
  11. cin.get();
  12.  
  13. return 0;
  14. }

Y te preguntarás: ¿por qué no haces?

Código
  1. cout << arreglo[1] << " " << arreglo[2] << endl;

Porque en los arreglos, el primero elemento es el elemento 0. Espero que te haya quedado claro ;)


Título: Re: duda resultado de matriz
Publicado por: flony en 15 Octubre 2010, 15:00 pm
cha gracias resuelto la duda y lo del for jijiji lo consegi es asi
Código:
#include <iostream>

using namespace std;

int main()
{
    int variable;
    int matriz[3];
    for(int indice=0;indice<3;indice++)
    {
        cout << "Ingrese la nota: \n";
        cin>> variable;
        matriz[indice] = variable;
    }

    cout << "La matriz es: [" << matriz[0] << ", " << matriz[1] << ", " << matriz[2] << "]\n";
    system("PAUSE");
    return 0;
}


Título: Re: duda resultado de matriz [resuelto y con for incluido :) ]
Publicado por: Horricreu en 15 Octubre 2010, 22:11 pm
De nada ::) Por cierto, no hace falta que uses system() ya que no funciona en todos los sistemas operativos. Utiliza cin.get().


Título: Re: duda resultado de matriz [resuelto y con for incluido :) ]
Publicado por: flony en 15 Octubre 2010, 23:00 pm
si es q como me inicie en bat me encanta ver que hace mi code...y lo de cin.get(). tomo el dato


Título: Re: duda resultado de matriz [resuelto y con for incluido :) ]
Publicado por: Akai en 16 Octubre 2010, 01:53 am
también puedes leerte esto, flony:

http://foro.elhacker.net/programacion_cc/ejecutar_programas_en_windows_sin_necesidad_de_pausas_system_pause_etc-t306837.0.html