Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - rir3760

#1531
OK. ¿Puedes publicar el codigo fuente completo del programa?

Un saludo
#1532
Cita de: eternoneofito en 22 Agosto 2011, 18:19 PMestoy estudiando de un libro, pero no se hace mencion de la linea "using namespace std;"
Eso indicaría un libro muy viejo, por ejemplo los enfocados en productos de Borland no mencionan esa sentencia ya que los compiladores obsoletos de esa compañia no la soportan.


Cita de: eternoneofito en 22 Agosto 2011, 18:19 PMEn cuanto a lo de int main(), segun el libro es el que toma por defecto cuando se escribe main(), y es una cuestion de gusto personal escribir "int main()" o "main()"
No. Solo en C estándar (ISO C90) se puede omitir el tipo y este se toma como "int". En el "nuevo" estándar de C (ISO-C99) y el de C++ no se puede ya que es un error.

Cursos y/o libros aceptables para aprender C++ se listan en uno de los temas fijos. Otros dos libros muy buenos (pero en ingles) son:
----
Accelerated C++: Practical Programming by Example
Andrew Koenig and Barbara E. Moo
Addison-Wesley, 2000
ISBN 0-201-70353-X
----
C++ Primer, 4th Edition
Stanley B. Lippman, Josée LaJoie, Barbara E. Moo
Addison-Wesley Professional, 2005
ISBN-10: 0-201-72148-1
ISBN-13: 978-0-201-72148-5
----

Un saludo
#1533
Debes precisar que es exactamente lo que quieres hacer ya que comentas 'crear la matriz llamandola desde una "function"' mientras que en la funcion que mencionas la matriz ya ha sido creada y solo se piden sus valores.

En el primer caso donde se crea y piden los datos de la matriz:
Código (cpp) [Seleccionar]
#include <iostream>
using std::cin;
using std::cout;
using std::endl;

#include <vector>
using std::vector;

vector<vector<int> > crear(int num_filas, int num_cols);
void imprimir(vector<vector<int> >& matriz);

int main()
{
   cout << "Matriz A" << endl;
   
   cout << "Numero de Filas: ";
   int num_filas;
   cin >> num_filas;
   
   cout << "Numero de Columnas: ";
   int num_cols;
   cin >> num_cols;
   cout << endl;
   
   vector<vector<int> > matriz = crear(num_filas, num_cols);
   cout << "----" << endl;
   imprimir(matriz);
   
   return 0;
}

vector<vector<int> > crear(int num_filas, int num_cols)
{
   vector<vector<int> > matriz(num_filas, vector<int>(num_cols) );
   
   for (int i = 0; i < num_filas; i++)
      for (int j = 0; j < num_cols; j++) {
         cout << "matriz[" << i << "][" << j << "]: ";
         cin >> matriz[i][j];
      }
     
   return matriz;
}

void imprimir(vector<vector<int> >& matriz)
{
   vector<vector<int> >::size_type i;
   vector<int>::size_type j;
   
   for (i = 0; i < matriz.size(); i++)
      for (j = 0; j < matriz[i].size(); j++)
         cout << "matriz[" << i << "][" << j << "]: " << matriz[i][j] << endl;
}


Un saludo
#1534
Si, como todo parece indicar, estas utilizando el objeto "cin" con el operador ">>" para leer los datos solo tienes (como ya te comentaron) que indicar al usuario como introducirlos ya que para este si (solo por poner un ejemplo) se requieren de tres valores da igual si se introducen en una linea o en tres.

Eso porque cuando se lee un valor primero se descarta el "espacio blanco": espacio, tabulador, avance de linea, etc.

Un saludo
#1535
getch, getche, etc, son parte de una biblioteca de terceros (conio de Borland) y no pertenecen a la biblioteca estándar de C++.

En el caso que nos ocupa eso, después de todo, no es importante ya que se tendrá que hacer de ese modo o utilizando (en mi opinión una opción mejor) la Win32 API. La referencia en linea del sitio oficial (MSDN) se encuentra en la pagina Consoles, su desventaja es que esta requiere un buen manejo del lenguaje.

Un saludo
#1536
Supongo el lenguaje de programación es C++, ¿Correcto?

No es posible utilizando solo la biblioteca estándar de C++, vas a tener que utilizar bien el API que exponga el SO (por ejemplo Win32 en MS Windows) o una biblioteca de terceros (por ejemplo ncurses en Linux).

Un saludo
#1537
Supongo en cualquier momento este tema sera (como así lo indican las reglas) cerrado por alguno de los moderadores.

Solo un comentario: no es necesario llamar a la función "memset" para asignar el valor cero a los elementos del array. En su lugar basta con inicializar el array en su declaración:
int iAZCount[25] = {0};

Un saludo
#1538
El problema se debe a que la biblioteca estándar de C++ (para ser exactos las facilidades cortesia de <iostream>) se vincula estaticamente con el ejecutable.

Una explicación mas detallada del tema la puedes encontrar en la FAQ de C++ en ingles (utiliza Google). También puedes utilizar el motor de búsqueda de estos foros para revisar temas sobre la creación de ejecutables pequeños pero, si recuerdo bien, la mayoría están enfocados en (compiladores en Win32 de) C.

Un saludo
#1539
Programación C/C++ / Re: Minimo(c++)
19 Agosto 2011, 18:17 PM
No podemos tomar el enunciado al pie de la letra ya que este no tendría sentido (¿como comparar un numero con otros dos dos inexistentes?). Lo primero que piensa uno al revisar el primer mensaje es leer tres números y a continuación indicar cual es el menor ...

... a menos que haya un poco de sarcasmo en el aire. ;-)

Un saludo
#1540
Programación C/C++ / Re: Minimo(c++)
19 Agosto 2011, 17:59 PM
Supongo me esta pasando inadvertido algo ya que solo pides el primer numero y no estas comparando sus valores (con sizeof comparas sus tamaños, los mismos ya que son del mismo tipo).

Un saludo