Advertisement
Guest User

P2 - Clase Virtual 1

a guest
Mar 23rd, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. using namespace System;
  4.  
  5. short* crearVector(short lon){
  6. Random aleatorio;
  7. new short[lon];
  8. for (short i=0; i<lon; i++)
  9. //p[i] equivale a *(p+i)
  10. p[i] = aleatorio.Next(0,21);
  11. return p;
  12. }
  13.  
  14. void listarNotas(short* p, short lon){
  15. for (short i=0; i<lon; i++)
  16. //p[i] equivale a *(p+i)
  17. cout << p[i] << endl;
  18. }
  19.  
  20. //Recibe:
  21. // 1. un puntero con la direccion inicial del bloque de notas
  22. // 2. la variable de longitud del vector de notas; por referencia para que al cambiar su valor, cambie tambien en el main
  23. // 3. la variable nota para ser agregada a un nuevo vector
  24. short* agregarNota(short* p, short &lon, short nota){
  25. //Reservamos en memoria espacio para un nuevo vector de longitud lon+1 (asi tenemos espacio para la nueva nota)
  26. short* temp = new short[lon+1];
  27. //Copiamos al nuevo vector, todas las notas del antiguo vector
  28. for(short i=0; i<lon; i++)
  29. temp[i]=p[i];
  30. //Copiamos al nuevo vector, la nota que deseamos agregar
  31. temp[lon]=nota;
  32. //Incrementamos/actualizamos la cantidad o longitud de notas que tenemos
  33. lon++;
  34. //Eliminamos de la memoria el antiguo vector de notas para que no ocupe espacio
  35. delete[] p;
  36. //Retornamos la direccion inicial del nuevo vector de notas
  37. return temp;
  38. }
  39.  
  40. int main(){
  41. short n = 5;
  42. short* pNotas = NULL;
  43. pNotas = crearVector(n);
  44. listarNotas(pNotas, n);
  45. system("pause");
  46. pNotas = agregarNota(pNotas, n, 18);
  47. listarNotas(pNotas, n);
  48. system("pause");
  49. if(pNotas) delete[] pNotas;
  50. return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement