Primero un consejo, siempre coloca tu codigo con [ code][ /code], (sin espacio en los corchetes) hace que sea mas legible.
El arreglo está declarado en dos dimensiones porque en C++ no existen sentencias de tipo string, sino sólo de tipo char
Eso no es cierto, en C++ si existe el tipo string, esta declarado dentro del namespace std, solo tienes que añadirlo a tu codigo, pero deberias usar ademas cout y cin. Es C el lenguaje en que no existe string, solo char.
Te pongo el codigo para que te des cuenta de la diferencia
C++
#include <iostream>
// Nota el uso del namespace
using namespace std;
int main()
{
string nombre[3];
int x, y;
for (x = 0; x <= 2; x++)
{
cout << "inserte nombre " << x + 1;
cin >> nombre[x];
}
for (y=0; y<=2; y++)
{
cout << "\n" << nombre[y] << "\n";
}
system ("pause");
return 0;
}
Asi que para hacerlo en C++, deberias hacer algo como esto:
void leer_nombre(string nombre[])
{
int x;
for (x = 0; x <= 2; x++)
{
cout << "inserte nombre " << x + 1;
cin >> nombre[x];
}
}
y el llamado de la funcion:
Si te decantas por utilizar C en lugar de C++, la rutina seria asi:
void leer_nombre(char nombre[][10])
{
int x;
for (x = 0; x <= 2; x++)
{
printf ("inserte nombre %d ", x+1);
scanf("%s", nombre[x]);
}
}
Nota como pongo el tamaño de la segunda dimension en el parametro, no es necesario poner el tamaño de la primera dimension.
Con esto ya tienes para terminar lo demas.
Saludos