Article View: es.comp.os.linux.programacion
Article #9336Re: matrices
From: Mick
Date: Sun, 28 Jul 2002 10:06
Date: Sun, 28 Jul 2002 10:06
54 lines
3079 bytes
3079 bytes
quantium wrote:
> Hola a todos!
> Tengo un peque�o problema con matrices, el ejemplo es el siguiente, yo
> quiero que un programa pregunte la temperatura media de todos los dias
> de la semana de los 12 meses del a�os, esto se podria hacer usando la
> matriz: char[12][31]; , los 12 son los meses y los 31 los dias (ya se
> que no todos los meses tienen 31 dias jeje ) pues bien, yo a esos 12
> quiero ponerle el nombre de los meses, y he querido usar el siguiente
> codigo:
>
>
char*mes[12]={"Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"}[31];
> Como podemos observar, al final de Diciembre esta puesto [31] , que
> serian los dias de los meses que he puesto antes: 1-enero 2-febrero ....
>
> Pero al intentar compilar esto me da error. �teneis alguna idea?
> Muchas gracias :-)
Eso no es sintaxis de C, no puedes poner [31] al final, en el improbable
caso de que C aceptase esa sintaxis, esos 31 elementos de que tipo de datos
serian ?
Un array en C solo puede ser de un mismo tipo de datos no puedes tener un
array en el que unos elemento sean de un tipo y otros de otro.
Lo que necesitas es utilizar estructuras. Algo como esto seria suficiente:
-------------8<-----------8<-------------------
typedef struct {
char *name;
double temp[31];
} MesTemp; // Definimos nueva estructura que
// consta de un nombre mas un array de 31 elementos
// de tipo double (si no necesitas decimales puedes
// poner int en lugar de double)
MesTemp mes[12]= // Definimos array de 12 MesTemp
{
{"enero"},
{"febrero"},
{"marzo"}
};
-----------8<-----------8<-------------
mes[2].name -> "marzo" (0=enero 1=febrero, etc).
mes[3].temp[0] -> Temperatura del primer dia de abril.
(Los arrays en C comienzan en el elemento 0).
Salud2 !!
Technical Details
Message-ID:
<ai0fpc$h0i$1@nsnmpen2-gest.nuria.telefonica-data.net>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmpen2-lo.nuria.telefonica-data.net!not-for-mailReferences:
<3D433411.7090906@lycos.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,2d8513eda52a92ad X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-07-28 03:07:42 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmpen2-lo.nuria.telefonica-data.net!not-for-mail From: Mick <michaell@teleline.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: matrices Date: Sun, 28 Jul 2002 12:06:48 +0200 Organization: Michael Corp Lines: 54 Message-ID: <ai0fpc$h0i$1@nsnmpen2-gest.nuria.telefonica-data.net> References: <3D433411.7090906@lycos.es> NNTP-Posting-Host: 213-98-127-85.uc.nombres.ttd.es Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8Bit X-Trace: nsnmpen2-gest.nuria.telefonica-data.net 1027850860 17426 213.98.127.85 (28 Jul 2002 10:07:40 GMT) X-Complaints-To: usenet@nsnmpen2-gest.nuria.telefonica-data.net NNTP-Posting-Date: Sun, 28 Jul 2002 10:07:40 +0000 (UTC) User-Agent: KNode/0.7.1