elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 9 [10]
91  Programación / Programación C/C++ / ¿Es posible crear un vector de iteradores? en: 27 Noviembre 2014, 20:03 pm
Lo mismo la pregunta es tonta, o no, pero en uno de los problemas que estoy trabajando ahora, me piden una función que devuelva (literalmente) un un vector de iteradores

Bueno, la clase vector... estupendo. Vectores de enteros, de caracteres, strings, incluso vectores, tuplas.. no veo problemas.

Pero en ningún lado he podido encontrar documentación (o no la se encontrar) que me diga como narices declaro un vector de iteradores.

Aclaro, que por vector me refiero a un contenedor del tipo:

Código:
#include <vector>
...
int main(){
     vector<int> MiVector; // Declaración de vector de enteros
     vector<int>::iterator MiIterador; // Declaración de un iterador.
}


No tengo claro si realmente puedo hacer algo así, o simplemente el "problema" tiene un gazapo como una catedral. Si se tratara de devolver un vector con las posiciones (para acceder según el método clásico de Dato[indice]) no encontraría mayor problema.
92  Programación / Programación C/C++ / Problema con vectores en una función en: 24 Noviembre 2014, 11:00 am
Probablemente esto sea una tontería, y obviamente algo estoy haciendo mal, pero a ver si podéis iluminarme.

Código:
#include <iostream>
#include <vector>
using namespace std;

void Poner_Datos(vector< vector<int> >& v, int Fila[], int row, int cantidad){
    vector<int> Parcial;
    for (int i=0; i<cantidad; i++){
        Parcial.push_back(Fila[i]);
    }
    v[row] = Parcial;
}

int main(){
    vector <vector<int> > Entrada;
    int Fila0[4] = {0, 1, 2, 3};
    int Fila1[2] = {4, 5};
    int Fila2[3] = {6, 7, 8};
    int Fila3[6] = {9, 10, 11, 12, 13, 14};
    Poner_Datos(Entrada, Fila0, 0, 4);
    //Poner_Datos(Entrada, Fila1, 1, 2);

}

Obviamente esto está incompleto, pero lo que quiero hacer, es definir unos arrays (Fila0, Fila1, etc...) cada uno con un tamaño arbitrario.

Y, meter estos datos en las diferentes filas de un vector de 2 dimensiones.

El problema que encuentro, por muchas vueltas que le de, es que aparentemente no puedo utilizar una variable para indicar en la función la fila en la que se deben de introducir los elementos en el vector. El programa compila si, pero "peta" lamentablemente al ejecutarse.

Que algo estoy haciendo mal es obvio, mi problema es que no se exactamente donde estoy metiendo la pata.

He intentado también meter directamente los datos de otro modo, algo como:

Código:
v[row].push_back(Fila[i]);

Ni que decir que aunque el compilador traga, el programa también deja de funcionar.

Obviamente tengo otra opción, que es crear unos ficheros con los datos y meterlos "a piñon", eso lo he hecho en alguna ocasión y funciona, pero claro, lo que quiero saber es porque no me funciona.



93  Programación / Programación C/C++ / Consulta sobre declaración de vectores en: 22 Noviembre 2014, 21:51 pm
Una consulta de la que los expertos se van a reir, pero como no lo soy  ;D

Un string cualquiera de una dimensión puede declararse directamente.

Código:
int a[5] = {-1, 1, 5, 12, -4}

Creo que no es posible (al menos el compilador me regaña), pero ¿existe algún constructor que me permita algo parecido con un vector?

¿y con un vector de mas de una dimensión?

Soy plenamente consciente de que puedo "apañar" una función a la que le pase un string o un array y lo meta en un vector, pero me pregunto si existe una forma diferente de hacerlo

Supongamos que tengo un vector tal que:

Código:
vector <vector<int> > Por_ejemplo

¿Existe algún modo de construir por ejemplo la fila 0 mediante una declaración del estilo de los arrays?

Si me decís "no, no puedes", pues me apaño una función para pasar los valores, pero si existe una forma diferente de hacerlo, sería mas que interesante conocerla

Según la referencia oficial de C++ esto no se puede, pero claro, preguntar no cuesta nada, y lo mismo aprendo algo
Páginas: 1 2 3 4 5 6 7 8 9 [10]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines