codice:
#include <iostream>

typedef struct rubrica{
        char cognome[15];
        char nome[15];
        char numero[20];
        } rubrica ;

                

rubrica riga[] = {
                {"b","",""},
                {"d","",""},
                {"a","",""},
                {"c","",""}
        };
  
int vett[] = {0, 1, 2, 3};



int main () {
  
 
	std::cout << "Inizio :  "  << std::endl;
	for (int i = 0; i < 4; i++)
		std::cout << " " << riga[vett[i]].cognome << std::endl;


	int num = sizeof(vett) / sizeof(int) ;

	int flag = 0;
	do {
		flag = 0;
		for(int k=0; k<num-1; k++)	{
			if(strcmp(riga[vett[k]].cognome, riga[vett[k+1]].cognome) > 0)   {
				int com = vett[k];
			        vett[k]= vett[k+1];
			        vett[k+1]= com;
			        flag=1;
			} 
		}
	} while(flag==1);

	std::cout << "Fine :  "  << std::endl ;
	for (int i = 0; i < 4; i++)
		std::cout << " " << riga[vett[i]].cognome << std::endl;
  
	std::cout << std::endl;

	return 0;
}