Un array o vector viene a ser casi lo mismo que una variable normal.
Solo que en una variable normal, solo puedes guardar un dato.
En un vector, puedes guardar muchos. Es una variable que tiene varios "compartimentos" para guardar datos.
Para leer/escribir esos datos, necesitas el nombre de la variable/vector y el índice, o sea, el número de posición que ocupa.
Si el vector tiene 10 espacios, estos se numeran del 0 al 9 (en algunos pocos lenguajes la numeración va del 1 al 10)
Esto es lo que se llama un array de una dimensión
Una matriz, en cambio, tiene dos dimensiones. Viene a ser como un array normal de una dimensión, solo que cada elemento de este array, ya no es un dato simple. Si no que cada elemento es a su vez otro array.
Por eso en este caso para acceder a los datos se necesitan dos índices.
Comparémoslo con casas.
Imagina una casa unifamiliar, sola, en una calle donde no hay más casas.
Para identificarla solo necesitas saber el nombre de la calle.
Esto equivale a una variable normal, solo necesitas saber su nombre.
Ahora imagina que en esa calle hay varias viviendas unifamiliares, cada una con su número único.
Para identificarlas ya no te vale solo el nombre de la calle, ahora también necesitas saber el número de dada una de ellas.
Esto equivale a un array de una dimensión, necesitamos nombre e indice.
Por último, supongamos que las casas ya no son unifamiliares, ahora son edificios de varios pisos.
Para identificar cada vivienda, ya no basta la calle y el número de edificio. Ahora también necesitamos el número de piso.
Esto equivale a una matriz, necesitamos su nombre y dos indices para acceder a cada elemento.
Bien, centrándonos en tu ejercicio.
Quieres guardar nombre y cédula. Aquí conviene matizar que para guardar una cédula, no es necesario usar el tipo de dato int.
Vale que una cédula está compuesta de números, pero en realidad no vamos a hacer operaciones matemáticas con esos números, por lo tanto no es necesario usar int. De hecho, es más cómodo y recomendable usar String.
Entonces, si hacemos que tanto nombre como cédula sean tipo String, esto nos da la ventaja de que podemos usar directamente una matriz, ya que vamos a guardar datos de un mismo tipo.
Si por algún motivo quisiéramos usar int para cédula y String para el nombre, entonces necesitaríamos dos vectores distintos. En realidad no es demasiado problema, solo implica que el código será distinto y que habrá que cuidar de que si el nombre de una persona está guardada en la posición 0 del vector de nombres, su cédula también se ha de guardar en la posición 0 del vector de cédulas.
Los datos han de compartir misma posición aunque estén en vectores distintos, de lo contrario, los datos de unas personas se mezclarán con los de otras y solo tendremos caos.
Esto sería un ejemplo usando dos vectores con distinto tipo de dato
Y este es el mismo ejemplo, pero usando una matriz porque vamos a tratar las cédulas como String, igual que el nombre.
Fíjate que en ambos casos necesitamos saber, o al menos determinar, qué cantidad de personas vamos a registrar.
Esto es porque los arrays, ya sean vectores o matrices, son
estáticos, es decir, tienen una longitud fija que no se puede alterar durante el curso del programa. No pueden crecer ni hacerse más pequeños.
Hay otros tipos de estructuras que son
dinámicas, es decir, no requieren un tamaño fijo porque pueden crecer o disminuir durante la ejecución del programa.
Supongo que más adelante ya te lo explicarán, de momento céntrate en comprender los arrays básicos.