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 - amchacon

#711
Programación C/C++ / Re: for y do while
30 Junio 2013, 23:06 PM
Es buena práctica trabajar así, si después quieres cambiar las 2 matrices por 27 no habrá problema  ;)

¿Desventajas? Bueno pierdes un pelín de rendimiento, pero es despreciable (un nanosegundo?).
#712
Ibas bien:

Código (cpp) [Seleccionar]
int Maximo[5] = {m[0][0],m[0][0],m[0][0],m[0][0],m[0][0]};
int f = 0;
int c = 0;

for (f = 0; f < 5;f++)
{
  for (c= 1; c < 5;c++)
  {
        if (m[c][f] > Maximo[f])
            Maximo[f] = m[c][f];
  }
}


No lo he probado, pero debería funcionar.

#713
Programación C/C++ / Re: ordenar un vector
30 Junio 2013, 15:34 PM
Cita de: dato000 en 30 Junio 2013, 06:46 AM
Además que para poder recorrer correctamente una lista o un vector es mejor usar un iterador para apuntar exactamente al espacio de memoria reservador por el vector
Eso no es así, el operador[] también apunta al espacio de memoria.

Una de las ventajas que tiene de usar iteradores en vectores es que si después quieres cambiar a una lista, no tienes que cambiar nada del código.
#714
Si lo pides dos veces se queda con la última, eso es lógico.

¿Para que necesitas el scanf de antes del bucle?
#715
Cita de: feedf en 29 Junio 2013, 21:45 PM
muchas gracias!!! ya casi lo estoy sacando, jaj
me enseñaron con printf y scanf y ya me acostumbre :S xd


te hago una consulta muy tonta pero ya no me da el bocho XD

tengo que cargar un vector dependiendo de NC aca esta el codigo

printf("ingrese el numero de centro");
scanf("%d",&nc);

while(nc!=0)
{
do
{
printf("ingrese el numero de gaseosa");
scanf("%d",&ng);
}while((ng<=0)||(ng>=6));


blabla

tot[nc]=ng (por ejemplo)



el tema es que el primer NC no me lo toma por que  esta afuera del while
y no me acuerdo como hacer para que por ejemplo el primer dato q ingreses sea 1 y en tot[1] me guarde el ng

mil gracias

?

Eso no tiene ningún sentido, revisalo.
#716
Los autores del lenguaje consideraron que esa práctica era un desperdicio de memoria y no era nada práctica. Por lo que no se pueden devolver vectores de forma directa.

¿Conoces el paso por referencia? Los vectores siempre se pasan por referencia. Prueba este ejemplo:

Código (cpp) [Seleccionar]
#include <iostream>

void RellenarVector(int Devolver[10])
{
   for (int i = 0; i < 10; i++)
   {
       cout<<"Introduce el valor para la posicion "<<i<<": ";
       cin>>Devolver[i];
   }

}

int main()
{
   int Vector[10];
   RellenarVector(Vector);

   // Mostrar vector

   for (int i = 0; i < 10; i++)
       cout<<Vector[i]<<endl;

   return 0;
}


Por cierto, menudo cacao tienes con el C y el C++ (printf y scanf son de C, en C++ se usa cout y cin).
#717
Se pasan tal cual:

Código (cpp) [Seleccionar]
void Funcion(int matriz[3][3])
{
  // Blablablabla...
}

//...

int main()
{
   int Matriz[3][3];
   
   Funcion(Matriz);

   return 0;
}
#718
Cita de: eferion en 28 Junio 2013, 11:38 AM
Mi caso es un poco extremo... pero en un proyecto como en el que estoy... de 13 millones de líneas de código... y 70 personas picando código... acabas detestando un poco los returns a mitad de función.

No es por el que lo hace... sino por el que luego va a meter mano ahí.

Pero es cierto, es cuestión de gustos.
¿Estas desarrollando un linux? Que barbaridad  ;-)

Pues la verdad esque nunca he tenido que trabajar en equipo, aunque en realidad todo se resuelve con unas buenas notaciones.
#719
A mí me gustan los returns, una forma fácil y eficiente de acabar una función.

Solo tienes que tener cuidado de liberar la memoria  ;)
#720
Cita de: engelx en 28 Junio 2013, 09:24 AM
si la variable desborda no debería hacer o un run-time error o una corrupción del código por desbordamiento?
Te estás confundiendo con los vectores, aquí no se accede a otras posiciones de la memoria.

Prueba este código:

Código (cpp) [Seleccionar]
#include<iostream>
#include <windows.h>
using namespace std;

int main()
{
   short Numero = 0;

   while (1)
   {
       Numero++;
       cout<<Numero<<endl;
       Sleep(1);
   }
   return 0;
}


Fijate que cuando llega a 32250 (el máximo rango), pasa de repente a los números negativos. Si pruebas con un unsigned pasará directamente a 0 (cuando llege a 65000).