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

crear 1 vector dinamico

Estas en el tema de crear 1 vector dinamico en el foro de C/C++ en Foros del Web. Buenas por favor alguien m puede decir como crear 1 vector dinamico en lenguance C++, y ordenarlo sin aplicar ningun metodo de ordenamiento, tambien quiero ...
  #1 (permalink)  
Antiguo 22/09/2008, 23:54
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
crear 1 vector dinamico

Buenas por favor alguien m puede decir como crear 1 vector dinamico en lenguance C++, y ordenarlo sin aplicar ningun metodo de ordenamiento, tambien quiero eliminar 1 elemento y codificar el contenido de una posicion y mostrar el vector al final
  #2 (permalink)  
Antiguo 23/09/2008, 08:25
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: crear 1 vector dinamico

Hola Velizz, por lo que leo la mejor solucion es usar STL vector.
Aca te dejo el codigo de creacion, iteracion, orden, eliminacion de un elemento en un vector. Te recomiendo que chusmees las funciones stl Vector que con practica sirven muchisimo.

#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;

int main(int argc, char *argv[])
{
//declaro e inicializo
vector<int> v;
for(int i=10; i>0; i--)
v.push_back(i);

//itero y muestro (sin orden)
vector<int>::iterator it;
for(it=v.begin(); it!=v.end(); it++)
cout<<*it<<" ";
cout<<endl;

//ordeno
sort(v.begin(),v.end());

//elimino la posicion 2 del vector ordenado
v.erase(v.begin()+2);

//muestro de nuevo (con orden y eliminado un elemento)
for(it=v.begin(); it!=v.end(); it++)
cout<<*it<<" ";
cout<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}




Acá encontras todo explicado de 10 http://www.cplusplus.com/reference/stl/vector/

Saludos!!
Pablo.-
  #3 (permalink)  
Antiguo 23/09/2008, 11:17
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: crear 1 vector dinamico

Gracias yo lo tengo asi lo unico q m falta es eliminar 1 elemento del vector y poder modificar 1 posicion.

#include <stdio.h>
#include <conio.h>
void main (){
int i,v[100],n,aux,j;
printf("Tamaño del vector:");
scanf("%d",&n);
printf("\n");
printf("llene el vector:\n");
for(i=0;i<n;i++){
printf("posicion [%d]:",i+1);
scanf("%d",& v[i]);
}
printf("\n");
printf("el vector es:\n");
for(i=0;i<n;i++){
printf(" %d",v[i]);
}
for(i=0;i<n;i++){
aux=v[i];
j=i-1;
while((v[j]>aux)&&(j>=0)){
v[j+1]=v[j];
j--;
v[j+1]=aux;
}
}
printf("\n");
printf("el vector ordenado es:\n");
for(i=0;i<n;i++){
printf(" %d",v[i]);
}
getche();
}
  #4 (permalink)  
Antiguo 23/09/2008, 12:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: crear 1 vector dinamico

Gracias yo tengo sto y lo unico que me falta es eliminar 1 elemento de ese vectory ,modificar 1 posicion especifica.
#include <stdio.h>
#include <conio.h>
void main (){
int i,v[100],n,aux,j;
printf("Tamaño del vector:");
scanf("%d",&n);
printf("\n");
printf("llene el vector:\n");
for(i=0;i<n;i++){
printf("posicion [%d]:",i+1);
scanf("%d",& v[i]);
}
printf("\n");
printf("el vector es:\n");
for(i=0;i<n;i++){
printf(" %d",v[i]);
}
for(i=0;i<n;i++){ //Metodo de insercion
aux=v[i];
j=i-1;
while((v[j]>aux)&&(j>=0)){
v[j+1]=v[j];
j--;
v[j+1]=aux;
}
}
printf("\n");
printf("El vector ordenado es:\n");
for(i=0;i<n;i++){
printf(" %d",v[i]);
}
getche();
}
Cita:
Iniciado por elbambinodemerlo Ver Mensaje
Hola Velizz, por lo que leo la mejor solucion es usar STL vector.
Aca te dejo el codigo de creacion, iteracion, orden, eliminacion de un elemento en un vector. Te recomiendo que chusmees las funciones stl Vector que con practica sirven muchisimo.

#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;

int main(int argc, char *argv[])
{
//declaro e inicializo
vector<int> v;
for(int i=10; i>0; i--)
v.push_back(i);

//itero y muestro (sin orden)
vector<int>::iterator it;
for(it=v.begin(); it!=v.end(); it++)
cout<<*it<<" ";
cout<<endl;

//ordeno
sort(v.begin(),v.end());

//elimino la posicion 2 del vector ordenado
v.erase(v.begin()+2);

//muestro de nuevo (con orden y eliminado un elemento)
for(it=v.begin(); it!=v.end(); it++)
cout<<*it<<" ";
cout<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}




Acá encontras todo explicado de 10 http://www.cplusplus.com/reference/stl/vector/

Saludos!!
Pablo.-
  #5 (permalink)  
Antiguo 23/09/2008, 12:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: crear 1 vector dinamico

Mira, me base en tu codigo y la modificacion es tan simple como esto:

int pos, value;
printf("\n");
printf("ingrese posicion a modificar:");
scanf("%d",&pos);
printf("\n");
printf("ingrese valor a modificar:");
scanf("%d",&value);
v[pos]=value;


y antes de tirarte un ejemplo de eliminacion, necesito saber si lo que queres es que la posicion quede vacia o que el vector se resaizee.
Insisto, si usas stl esto lo resolves en un pedo y mucho mas prolijo.
  #6 (permalink)  
Antiguo 23/09/2008, 12:43
 
Fecha de Ingreso: septiembre-2008
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: crear 1 vector dinamico

lo q quiero es eliminar 1 elemento, y modificar 1 posicion y q quede vacia para despues ser utilizada. Ej : v= [ 2,4,6,7] --> eliminar 6 v=[2,4,7] ---> modificar 4
v=[2,7,7,8]
y decir en que posicion se repite el mismo numero EJ: El 7 sta en la posicion 2 y 3
Cita:
Iniciado por elbambinodemerlo Ver Mensaje
Mira, me base en tu codigo y la modificacion es tan simple como esto:

int pos, value;
printf("\n");
printf("ingrese posicion a modificar:");
scanf("%d",&pos);
printf("\n");
printf("ingrese valor a modificar:");
scanf("%d",&value);
v[pos]=value;


y antes de tirarte un ejemplo de eliminacion, necesito saber si lo que queres es que la posicion quede vacia o que el vector se resaizee.
Insisto, si usas stl esto lo resolves en un pedo y mucho mas prolijo.
  #7 (permalink)  
Antiguo 23/09/2008, 21:02
 
Fecha de Ingreso: agosto-2008
Mensajes: 18
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: crear 1 vector dinamico

ummm esto me parece conocido

Algoritmo y Estructura I -----> UJAP
  #8 (permalink)  
Antiguo 26/09/2008, 14:53
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: crear 1 vector dinamico

si lo que quieres es dejar el vacio en la posicion del array (vector / arreglo es lo mismo) ubicate en el mismo y ponle el caracter ' '
pero si lo q quieres es que se elimine con todo y posicion usa esto:
int numero_elementos;
numero_elementos =ftell/sizeof(Tuestructura);
usa un for q vaia desde el numero q ingresaste hasta el numero_elementos y sube cada uno de los registros y al final haz q el contador del vector disminuya en 1 y listo
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 07:42.