Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Vectores

Estas en el tema de Vectores en el foro de C/C++ en Foros del Web. pues nada, que no se que le pasa a este codigo: void main(){ int i,j; printf("introduce un numero"); scanf("%d",&i); printf("introduece otro numero"); scanf("%d",&j); int vector[i]; ...
  #1 (permalink)  
Antiguo 24/11/2007, 13:39
 
Fecha de Ingreso: noviembre-2004
Mensajes: 149
Antigüedad: 20 años
Puntos: 0
Vectores

pues nada, que no se que le pasa a este codigo:
void main(){
int i,j;
printf("introduce un numero");
scanf("%d",&i);
printf("introduece otro numero");
scanf("%d",&j);
int vector[i]; //Esta es la Linia 17
int vector1[j];
}
pues con este codigo tan sencillo al compilar me dice:
C:\XXX\XXXXXXXX\Escritorio\escalar.c(17) : error C2143: syntax error : missing ';' before 'type'

yo no veo que falte nigun punto y coma!!!!
alguien ve algo mal?
__________________
¨`~*'¤^v-¥-()->»[: "3£ 1NƒîêRNø Nø ê$ UN Må£ £UGåR" :]«<-()-¥-v^¤'*~´¨
  #2 (permalink)  
Antiguo 24/11/2007, 18:33
 
Fecha de Ingreso: noviembre-2007
Mensajes: 37
Antigüedad: 17 años
Puntos: 0
Re: Vectores

- HOLAS BROTHER COMO ANDAMOX!!!
- MIRA ESTE CODIGO..A MI ME COMPILA...POR CASUALIADAD NO TE ABRA FALTADO LAS LIBRERIAS:

#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>

void main()
{
int i,j;
printf("Introduce un numero==> ");
scanf("%d",&i); //CUANDO DECLARAS ENTERO TUS VARIABLES...ES "&i", pero el compilador no lo reconoce...ueno. en realidad para reales puedes kolocar "d" o " f" - double o real y para enteros solo "i"
printf("Introduce otro numero==> ");
scanf("%d",&j);
int vector[i];
int vector1[j];
printf("VECTOR 1:") ;
cout<<" vector[" <<i<<"]";cout<<"\n\n";
printf("VECTOR 2:");
cout<<" vector[" <<j<<"]"; cout<<"\n\n";
system("pause");
}
  #3 (permalink)  
Antiguo 25/11/2007, 03:46
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Re: Vectores

Dos cosas, la primera es de logica, el compilador no deberia permitirte usar i y j como tamaños en tiempo de compilacion ya que los desconoce absolutamente y espera un valor constante.

Segundo, tu archivo tiene extension .c y seguramente el compilador lo tome como tal, en C las variables no se pueden definir en cualquier lado y ese es el error que te esta marcando realmente el compilador. Si lo llegas a compilar con extension .cpp (o pasandole /TP a cl.exe) te va a dar el error al que me refiero al principio.

Cita:
Iniciado por INVINCIBLE
- HOLAS BROTHER COMO ANDAMOX!!!
- MIRA ESTE CODIGO..A MI ME COMPILA...POR CASUALIADAD NO TE ABRA FALTADO LAS LIBRERIAS:
iostream es iostream, no iostream.h, eso debe ser una abominacion mas de Borland. Tal como permitir usar cout sin especificar el namespace ... con el compilador que esta usando el ese codigo dara el mismo problema que explique al principio al ser de C++.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 25/11/2007, 06:36
 
Fecha de Ingreso: noviembre-2004
Mensajes: 149
Antigüedad: 20 años
Puntos: 0
Re: Vectores

entonces donde deberia declarar las avriables i y j???? esque lo que quiero hacer es que el el usuario cree el tamaño del vector, al introducir un numero, y no se me ocurre ptra forma de hacerlo.
__________________
¨`~*'¤^v-¥-()->»[: "3£ 1NƒîêRNø Nø ê$ UN Må£ £UGåR" :]«<-()-¥-v^¤'*~´¨
  #5 (permalink)  
Antiguo 25/11/2007, 07:54
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 6 meses
Puntos: 74
Re: Vectores

Cita:
Iniciado por mawster Ver Mensaje
entonces donde deberia declarar las avriables i y j???? esque lo que quiero hacer es que el el usuario cree el tamaño del vector, al introducir un numero, y no se me ocurre ptra forma de hacerlo.
Memoria dinamica
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #6 (permalink)  
Antiguo 25/11/2007, 08:59
 
Fecha de Ingreso: enero-2005
Mensajes: 93
Antigüedad: 19 años, 10 meses
Puntos: 1
Re: Vectores

Debes declararlo todas las variables al principio del metodo. Si el vector quieres darle el tamaño que quiera el usuario, debes declarar los vectores asi:

int *vector;
int *vector1;

Así tienes los vectores declarados y despues para darles el tamaño, reservas memoria:

vector = (int *)malloc(sizeof(int)*i); //el malloc reserva memoria
//sizeof da el tamaño, en este caso de enteros (int)

Espero no haberme equivocado con el codigo, es q no lo puedo probar ahora mismo y hace un tiempo que no programo.
__________________
أת٥ד ﻪو٧٤ ٣أﮐ
  #7 (permalink)  
Antiguo 25/11/2007, 10:05
 
Fecha de Ingreso: noviembre-2004
Mensajes: 149
Antigüedad: 20 años
Puntos: 0
Re: Vectores

mil gracias!!!
__________________
¨`~*'¤^v-¥-()->»[: "3£ 1NƒîêRNø Nø ê$ UN Må£ £UGåR" :]«<-()-¥-v^¤'*~´¨
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:41.