Miércoles 13 de Noviembre de 2024, 08:42
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
como asigno un valor a cada posicion de un vector de 10?
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: como asigno un valor a cada posicion de un vector de 10? (Leído 2971 veces)
rogerfor
Miembro activo
Mensajes: 57
como asigno un valor a cada posicion de un vector de 10?
«
en:
Miércoles 6 de Octubre de 2010, 04:13 »
0
hola buenas noches, he estado estudiando lo de vectores, me cuesta mucho, y hasta ahora solo he podido asignar un tamaño a un vector, el problema es que no se como asignar un valor, a cada espacio de de un vector, asi que si el vector es de 10, yo ingrese un valor para cada espacio, he tratado, y hasta hasta ahora solo se como asignar un valor al vector en si.
espero que me haya podido dar a entender.
muchas gracias por su ayuda y feliz noche.
PD:
#include <iostream.h>
#include <conio.h>
using namespace std;
int main()
{
int dim[10]={i};
cout << "Ingresa la dimension del vector" << endl;
cin >> dim; // Supongamos que ingrese 10
int vector[dim]; // mi vector es de tamaño 10
for(int i=0;i < dim;i++){
vector
= i + i;
cout << vector
<< " ";
}
getch();
}
encontre este codigo que es el he tomado como base, pero solo permite asignar un valor al vector en si.
Tweet
ProfesorX
Moderador
Mensajes: 796
Nacionalidad:
Re: como asigno un valor a cada posicion de un vector de 10?
«
Respuesta #1 en:
Miércoles 6 de Octubre de 2010, 19:27 »
0
Recomiendo que uses etiquetas [ code] [ /code] (sin espacios en los corchetes) para encerrar el codigo, hace que sea mas legible.
Pues te dire que la manera que lo haces por medio de un ciclo for es la manera correcta, lo estas haciendo bien, pero tienes un error en una linea anterior:
int dim[10]={i};
Esto no es correcto estas declarando un vector para guardar el tamaño de un vector, cuando deberias usar una variable normal para guardar el tamaño.
Corrigiendo ese detalle, el codigo quedaria:
Código: C++
int
main
(
)
{
int
dim
;
cout
<<
"Ingresa la dimension del vector"
<<
endl
;
cin
>>
dim
;
// Supongamos que ingrese 10
int
vector
[
dim
]
;
// mi vector es de tamaño 10
for
(
int
i
=
0
;
i
<
dim
;
i
++
)
{
vector
[
i
]
=
i
+
i
;
cout
<<
vector
[
i
]
<<
" "
;
}
return
0
;
}
Ahora, si lo que quieres es inicializar el vector sin utilizar un ciclo, entonces en la declaracion del vector, usa corchetes y separa los valores con comas, como en el ejemplo siguiente:
Código: C++
int
vector
[
10
]
=
{
3
,
6
,
9
,
12
,
15
,
18
,
21
,
24
,
27
,
30
}
;
Saludos
NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================
Radger
Nuevo Miembro
Mensajes: 15
Re: como asigno un valor a cada posicion de un vector de 10?
«
Respuesta #2 en:
Miércoles 6 de Octubre de 2010, 20:08 »
0
Buenas
Otro fallo tambien es que inicializas el numero de elementos del vector en tiempo de ejecucion esto solo se puede hacer con un vector dinamico.
Código: C++
int
main
(
)
{
int
dim
;
cout
<<
"Ingresa la dimension del vector"
<<
endl
;
cin
>>
dim
;
// Supongamos que ingrese 10
int
*
vector
=
new
int
[
dim
]
;
// mi vector es de tamaño 10
for
(
int
i
=
0
;
i
<
dim
;
i
++
)
{
vector
[
i
]
=
i
+
i
;
cout
<<
vector
[
i
]
<<
" "
;
}
delete
vector
;
return
0
;
}
rogerfor
Miembro activo
Mensajes: 57
Re: como asigno un valor a cada posicion de un vector de 10?
«
Respuesta #3 en:
Jueves 7 de Octubre de 2010, 04:47 »
0
de verdad muchas gracias por su ayuda, pero ahora, ya que le asigne el valor de 10 al vector, como puedo por medio del teclado, que el programa me pida que yo vaya ingresando valores a las 10 posiciones del vector.
Tengo la idea de que seria con un ciclo, pero como hacer que el ciclo se guarde con el vector, y que despues me imprima los 10 numeros del vector.
no se si me doy a entender bien, es que si me cuesta mucho esto :S.
Radger
Nuevo Miembro
Mensajes: 15
Re: como asigno un valor a cada posicion de un vector de 10?
«
Respuesta #4 en:
Jueves 7 de Octubre de 2010, 14:01 »
0
El primer bucle se piden los datos y en el segundo se muestran, el resto es igual.
Código: C++
int
main
(
)
{
int
dim
;
cout
<<
"Ingresa la dimension del vector"
<<
endl
;
cin
>>
dim
;
// Supongamos que ingrese 10
int
*
vector
=
new
int
[
dim
]
;
// mi vector es de tamaño 10
for
(
int
i
=
0
;
i
<
dim
;
i
++
)
{
cout
<<
"Ingresa un numero"
<<
endl
;
cin
>>
vector
[
i
]
;
}
for
(
int
i
=
0
;
i
<
dim
;
i
++
)
{
cout
<<
vector
[
i
]
<<
" "
;
}
delete
vector
;
return
0
;
}
alb
Nuevo Miembro
Mensajes: 24
Re: como asigno un valor a cada posicion de un vector de 10?
«
Respuesta #5 en:
Jueves 7 de Octubre de 2010, 15:34 »
0
Hola,
Hay varios problemas en todo esos còdigos :
Código: C++
#include <iostream.h>
En C++, los .h de C ya no se deben usar sino los de la STL :
Código: C++
#include <iostream>
Código: C++
#include <conio.h>
conio.h no es estandard y muchos compiladores no lo proponen. So de debrìa usar.
Código: C++
int
dim
;
cin
>>
dim
;
// Supongamos que ingrese 10
int
vector
[
dim
]
;
// mi vector es de tamaño 10
No es standard definir un vector cuya dimensìon no sea constante, es decir conocida por el compilador. Mejor es usar new/delete :
Código: C++
int
*
vector
=
new
int
[
dim
]
;
Sino que cada new [] se debe liberar con un delete [] y no con delete solo:
Código: C++
int
*
p
=
new
int
;
delete
p
;
int
*
vector
=
new
int
[
dim
]
;
delete
[
]
vector
;
Pero, en C++, se prifiere usar std::vector que utilizar new[]/delete[] :
Código: C++
#include <iostream>
#include <vector>
int
main
(
)
{
int
dim
;
std
::
cout
<<
"Ingresa la dimension del vector"
<<
std
::
endl
;
std
::
cin
>>
dim
;
// Supongamos que ingrese 10
std
::
vector
<
int
>
mi_vector
(
dim
)
;
// mi vector es de tamaño 10
for
(
int
i
=
0
;
i
<
dim
;
i
++
)
{
std
::
cout
<<
"Ingresa un numero"
<<
std
::
endl
;
std
::
cin
>>
mi_vector
[
i
]
;
}
for
(
std
::
vector
<
int
>
::
const_iterator
it
=
mi_vector.
begin
(
)
;
it
!
=
mi_vector.
end
(
)
;
++
it
)
{
std
::
cout
<<
*
it
<<
" "
;
}
return
0
;
}
rogerfor
Miembro activo
Mensajes: 57
Re: como asigno un valor a cada posicion de un vector de 10?
«
Respuesta #6 en:
Jueves 7 de Octubre de 2010, 20:51 »
0
de verdad gracias a todos por sus correcciones, me han sido de gran ayuda, ya este sabado tengo examen de algoritmos y tengo estudiar. ahora solo me queda estudiar el código para ver que hacer cada cosa.
alguien conoce un curso de c++ que siga los estándares??
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
como asigno un valor a cada posicion de un vector de 10?