Hola a todos...Necesito ayuda para terminar un código, pero no encuentro la manera de hacerlo...es un programa que opera en la colección dinámica de datos. La idea es usar una estructura que contenga dos campos: la primera almacena el número de elementos en las colecciones, y la segunda es la colección real (un vector de ints dinámicamente asignado). Como puede ver, la colección está llena con la cantidad requerida de datos pseudoaleatorios. La función principal no esta terminada.. Esto es lo que se espera
1.Si la colección está vacía, debe asignar un vector de un elemento y almacenar un nuevo valor en él
2. Si la colección no está vacía, debe asignar un nuevo vector con una longitud mayor en uno que el vector actual, luego copiar todos los elementos del antiguo vector al nuevo, agregar un nuevo valor al nuevo vector y finalmente liberar el vector viejo.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
struct Collection {
int elno; int *elements;
};
void AddToCollection(Collection &col, int element) {
// la primera parte de la funcion
if (col.elno==0){
col.elements= new int[1];
col.elements[0]= element;
}
//lo que no esta terminado
else {
int *temporal;
temporal = new[];
}
}
void PrintCollection(Collection col) {
cout << "[ "; for(int i = 0; i < col.elno; i++)
cout << col.elements[i] << " "; cout << "]" << endl; }
int main(void) {
Collection collection = { 0, NULL };
int elems; cout << "How many elements? ";
cin >> elems;
srand(time(NULL));
for(int i = 0; i < elems; i++)
AddToCollection(collection, rand() % 100 + 1); PrintCollection(collection); delete[] collection.elements;
return 0;
}