C/Visual C - manipular solo una parte de un vector en C

   
Vista:

manipular solo una parte de un vector en C

Publicado por carlos (2 intervenciones) el 01/08/2008 17:34:31
hola que tal,

Tengo un vector en c, digamos de 10 elementos;

int vec[10];

Como puedo acceder o darle valor SOLAMENTE a los elementos del 3 al 6 por ejemplo, seria algo asi pero no se bien la sintaxis o no se si se pueda:

vec[3:6] = {1,1,1,1};

Y como puedo acceder a los elementos salteados en una sola instruccion, por ejemplo si quiero inicializar con -1 a los elementos 1 y 5 nada mas

vec[1,5] = {-1, -1};

Gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:manipular solo una parte de un vector en C

Publicado por igor (22 intervenciones) el 01/08/2008 21:53:48
No existe la posibilidad de inicializar solamente algunos de los elementos. Por lo menos si la inicialización se hace en la declaración. Tienes estas opciones:

int vec[10] = {0,0,0,1,1,1,1,0,0,0};

int vec[10];
for(i=0;i<10;i++)
{
if(i>2 && i<7) vec=1;
}

Yo te recomiendo la primera, porque siempre es conveniente inicializar las variables antes de utilizarlas. En C es algo MUY IMPORTANTE, y origen de muchos problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:manipular solo una parte de un vector en C

Publicado por carlos (2 intervenciones) el 01/08/2008 22:01:03
gracias por la respuesta,

Bueno el problema no es tanto la inicializacion , sino acceder solamente a algunos elementos, por jemplo si tengo estos vectores:

int vec[10]={0,1,2,3,4,5,6,7,8,9};
int x[3];

y quiero que en mi vector x queden los elementos 3,4 y 5 de vec, en una sola instruccion

x = vec[3,4,5]

o algo asi, se puede??

O es que en C solo se pueden acceder a los elementos de un vector uno por uno??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:manipular solo una parte de un vector en C

Publicado por igor (22 intervenciones) el 01/08/2008 23:07:01
Mas bien sí. No se de qué lenguaje bienes, pero en C la filosofía de programación es un poco diferente al del resto de lenguajes de programación.

Lo que tú llamas una sola instrucción, en el fondo se traducen en una decena por lo menos. Por eso se llaman lenguajes de alto nivel, y es porque están diseñados para no tener que preocuparnos de cosas tan simples como estas.

El caso es que C es un lenguaje de "nivel medio". Esto supone que tenemos que escribir más líneas de código para cosas tan simples como los vectores. Pero nos proporciona acceso a opciones imposibles en otros lenguajes.

El tener que escribir más líneas no afecta a la rapidez del programa, sino que lo que en un lenguaje tipo basic es una línea en c pueden ser 4, pero al final ambos llegan a ejecutar similar número de instrucciones máquina.

int vec[10]={0,1,2,3,4,5,6,7,8,9};
int x[3];

x[0]=vec[3];
x[1]=vec[4];
x[2]=vec[5];
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar