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

#671
Programación C/C++ / Re: Duda
18 Marzo 2014, 13:35 PM
Cita de: amchacon en 18 Marzo 2014, 13:25 PM
Para programar no es necesario saber como funciona la arquitectura de ordenador, yo puedo programar a alto nivel y despreocuparme de eso.

Efectivamente puedes despreocuparte, pero si no sabes cómo funciona difícilmente vas a poder entender el mecanismo, por ejemplo, mediante el cual "funcionan" los objetos o el mecanismo que regula el uso de memoria... y si no sabes eso podrías acabar con problemas de lagunas (C++) o sin memoria en el equipo ( C#, Java ) y no tener ni idea del motivo ni como solucionarlo.

Cita de: amchacon en 18 Marzo 2014, 13:25 PM
Lo importante es tener buena capacidad para resolver problemas y familiarizarte con la sintaxis de los lenguajes. Resolver problemas te hará más hábil para resolver otros, el usar C o no es irrelevante.

Totalmente de acuerdo... como dices, usar o no C es irrelevante... de hecho, debe ser irrelevante. Esa es la idea que intentaba transmitir, que saber programar no debe ir ligado a un lenguaje en concreto.
#672
Programación C/C++ / Re: Ayuda
18 Marzo 2014, 13:09 PM
La parte de "No se hacen trabajos" se aplica a TODO tipo de trabajo.

Otra cosa es que te atasques en algún punto y pidas ayuda... para eso sí vas a encontrar una buena acogida. Para esto, ya te digo yo que no, pero ni en este ni en ningún foro.

Para empezar lo que pides no es algo ni trivial ni sencillo y tampoco tienes nada hecho.

Lo que pides tiene algunas implicaciones por las que creo que nadie se va a mojar salvo que se lo proponga como reto a título personal:

* Manipulación del entorno del sistema operativo: código dependiente del sistema operativo

* Manipulación de la aplicación del navegador: Código dependiente del navegador ( incluso puede variar entre versiones )

#673
Programación C/C++ / Re: Estructuras en C
18 Marzo 2014, 08:32 AM
De nada.

Suerte con tus prácticas.
#674
Programación C/C++ / Re: Duda
18 Marzo 2014, 08:29 AM
No debes confundir el saber programar en un lenguaje con saber programar.

Haciendo ejercicios de C, aprenderás a programar en C, pero no aprenderás a programar.

Aprender a programar es independiente del lenguaje empleado y es algo que se aprende sobretodo estudiando ( entendiendo la arquitectura de un ordenador, cómo se ejecutan las instrucciones, cómo funciona la reserva de memoria, diferencias entre heap y pila, ... )

Una vez sabes programar, controlar un lenguaje nuevo es cuestión de cogerse un manual e invertir unos días en conocer las reglas y estructuras del nuevo lenguaje.
#675
Programación C/C++ / Re: Duda
17 Marzo 2014, 17:24 PM
Cita de: lukaszg_15 en 17 Marzo 2014, 17:05 PM
muchas gracias a todos por las respuestas, ya se que soy muy inutil sobretodo en arrays pero he venido a aprender y me habeis ayudado mucho  :-*

ahora ademas de aprender a hacerlo tambien vere los errores mas facilmente hehe bueno pues a acabar el ejercicio se ha dicho  :rolleyes:

Si me aceptas un consejo... si quieres vivir de esto algún día, intenta que tu objetivo sea siempre hacer bien las cosas, comprendiendo y razonando la solución. Si al final tiras por la vía fácil de intentar que nosotros (o cualquiera) te resuelva la papeleta para presentar el ejercicio funcionando luego te va a costar bastante subirte al tren y vas a lamentar las ocasiones perdidas.
#676
Programación C/C++ / Re: Duda
17 Marzo 2014, 16:54 PM
Jajajajaja

Un despiste con el copypaste... me dio por reorganizar un poco más el código una vez compilado y no me di cuenta de ese detalle.

Pero sí, la idea de venderlo como hecho aposta para que la gente se lo tenga que currar en casa también es un buen motivo.

PD.: dejarle la media en float no crees que dejarlo demasiado mascado??
#677
Programación C/C++ / Re: Duda
17 Marzo 2014, 16:24 PM
Si tienes los números en un array... recorre el array y ve sumando sus elementos.

Y si sabes cuántos elementos hay en el array... el valor lo tienes almacenado en la variable "num".

Pero vayamos por partes.

Código (cpp) [Seleccionar]

for (int i = 0; i< num; i++)
{
 suma = 0;
 suma1 = 0;
 suma2 = 0;
 suma = suma + numeros[0];
 suma1 = suma1 + numeros[1];
 suma2 = suma2 + numeros [2];
 media = (suma + suma1 + suma2) /num;
}

cout << "La media es: "<< media<< endl;


Este código no tiene ningún sentido... es decir, calculas "num" veces la "media" de los 3 primeros elementos... digo "media" porque divides entre "num" pese a no sumar los "num" elementos... además si "explotas" la linea "media=..." queda algo tal que...


media = (suma + suma1 + suma2 ) num;

// suma = suma + numeros[0] = 0 + numeros[ 0 ] = numeros[ 0 ]
media = ( numeros[0] + suma1 + suma2 ) / num;

// suma1 = suma1 + numeros[ 1 ] = 0 + numeros[ 1 ] = numeros[ 1 ]
media = ( numeros[ 0 ] + numeros[ 1 ] + suma2 ) / num;

// suma2 = suma2 + numeros[ 2 ] = 0 + numeros[ 2 ] = numeros[ 2 ]
media = ( numeros[ 0 ] + numeros[ 1 ] + numeros[ 2 ] ) / num;


Te sobran así a bote pronto la mitad de las variables!!! Si al menos tener tantas variables sirviese para que el código fuese más legible tendría alguna excusa... pero es que su efecto es justo el contrario.

La solución que buscas es sencilla. Simplemente fíjate en cómo has elaborado el código que pide los datos al usuario. Cuando estás pidiéndole los diferentes números, para almacenarlos haces...

Código (cpp) [Seleccionar]

for (int i = 0; i < num;i++)
  cin >> numeros[ i ];


... luego para sumarlos todos has de hacer más o menos lo mismo. Es decir, necesitas un bucle de 0 a "num" y aprovechas ese bucle para acceder a todos los elementos del array y sumarlos.

Código (cpp) [Seleccionar]

int suma = 0;
for( int i=0; i<num; i++ )
 suma += numeros[i];

media = suma / num;


Y esto mismo aplicado a tu código...

Código (cpp) [Seleccionar]

#include<iostream>
#include<cstdlib>
#include<fstream>

using namespace std;

int main ()
{
 int num,numeros[num];
   
 cout << "Cuantos numeros va a introducir? ";
 cin >> num;
   
   
 if (num > 2)
 {
   cout << "Introducelos: ";
   for (int i = 0; i < num;i++)
     cin>>numeros[i];
 
   int suma = 0;  
   for (int i = 0; i< num; i++)
     suma += numeros[ i ];

   int media = suma / num;
   cout << "La media es: "<< media<< endl;
 }
 else
    cout << "Debe introducir mas de 2 numeros."<<endl;
}


Ah si, procura tabular bien el código... si no es bastante molesto leerlo y le quitas a la gente las ganas de ayudarte ( si no leen tu código porque les parece incomprensible no te van a responder ).
#678
Programación C/C++ / Re: Estructuras en C
17 Marzo 2014, 16:03 PM
NOTA: En el formulario para escribir los mensajes, tienes un compo que dice GeSHi... elige ahí C o C++ según corresponda y mete tu código dentro de las etiquetas que te va a crear... así consigues que el código aparezca coloreado y sea más legible.

si tu tienes esto:


typedef struct nombre
{
  char nombre[M];
} Nombre[N];


es como decir lo siguiente:

tienes una estructura, cuyo "nombre" es "struct nombre". Esta estructura tiene un alias que es "Nombre". El contenido de esta estructura es un array de caracteres identificado como "nombre".

Como se puede ver no hay ninguna ambigüedad, aunque para que quede más claro te lo pongo en formato lista:

* identificador estructura: struct nombre
* alias de la estructura: Nombre ( el alias se corresponde a un array de N elementos )
* identificador del array de caracteres: nombre
#679
Cita de: IEAX en 16 Marzo 2014, 21:48 PM
Pero el usuario Meta no quiere utilizar un framework como gtk, qt, mfc o wxwidgets lo dejó bien en claro, el quiere usar winapi puro. Para hacer eso te recomiendo que leas este tutorial de como hacerlo con winapi completo:

http://winapi.conclase.net/curso/index.php

B#

Perdona mi osadía, pero WinForms no es un winapi puro... es parte del framework de .NET.

Además, da igual si usas un framework específico o la api de windows... al final todos los frameworks acaban haciendo uso de la api de windows... lo que sucede es que los frameworks ofrecen muchas facilidades con respecto a la api... que es más bien básica.
#680
Cita de: Meta en 15 Marzo 2014, 23:53 PM
Es cuestión de tiempo todo a 64 bits.

Tampoco hay que centrarse siempre en los 32 bits, entonces. ¿Cuándo pasamos a los 64 bits?

¿Dentro ed 20 años?

¿Cuándo las noticias empiecen a comentar sobre las nuevas 128 bits? A lo mejor quedan 50 años para que llegue.

Como me dijo un amigo, usa 32 bits, también haz otro preparado para las 64 bits, jejejejje. Solo que las 32 bits llegan a casi 4 GB de RAM como máximo. En 64 bits, si no recuerdo mal,usan 192 GB de RAM, esto ya no estoy seguro. Aún así, ¿para qué tanta RAM?

El juego de PC Call of Duty: Ghost, hubo una queja de que requería cuando salió el juego al principio, 6 GB de RAM mínomo, alguien lo parcheó y se puede jugar con  4 GB e includo con 3 GB medianamente bien, con buen rendimiento incluido. O juegas con 6 GB de RAM, o lo parchear el ejecutable. Al final el juego salió un parche oficial sin decir que tiene, pero resuelve el problema de que ya se puede jugar oficialmente a 4 GB.

¿Ya tienen intensiones las empresas a ampliar RAM en los juegos cuando la realidad es distinta para hacernos negocios?

Programar en 64 bits, se necesita más RAM, más claro que el agua. Total, .net será el futuro y nativo como que será eliminado con los años y años, cuando lleve las cosas en la nube, peor todavía.

Un saludo.

No estoy del todo de acuerdo con tu punto de vista.

Si cada vez se necesita más RAM no es por pasar de 32 bits a 64... más bien es al revés... se propone el paso de 32 a 64 para poder dar cobertura a la cada vez mayor demanda de RAM y recursos.

Antes los ordenadores funcionaban con 4MB de RAM y eso era la leche... claro que eran sistemas operativos simples como ellos solos... no existía apenas el P&P... hoy en día queremos que los SO y los juegos tengan gráficos y efectos vistosos y "guapos" y eso tiene un coste... además queremos que el ordenador nos avise cuando se ha encendido la consola y otras tantas cosas más... el precio a pagar para que todo eso funcione es que requiere equipos más potentes y con más recursos.