Shift a destra di un array

di il
1 risposte

Shift a destra di un array

Il problema è questo:"Dichiarare un array di 30 elementi. Nell'array verranno inseriti i cognomi di spettatori di una fila di un teatro (si suppone che si possa prenotare) lasciando liberi gli ultimi 5 elementi.
L'indice da 0 a 24 rappresenterà il numero di poltrona assegnato.
Realizzare un programma che permetta di inserire un nuovo spettatore ad esempio nella poltrona 3 spostando tutti quelli che seguono di un posto verso destra."
Mi manca di fare l'ultima frase che dovrei mettere del sottoprogramma "aggiungere".

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char cognomi[30][15];
int np,i;

void inserisci_dati(){
printf ("Inserisci numero persone che hanno prenotato\n");
scanf("%d",& np);	
for(i=0;i<np;i++){
printf ("Inserisci cognome della persona %d\n",i+1);
scanf("%s",& cognomi[i]);}
printf("\n");}

void visualizza(){
for(i=0;i<np;i++){
printf("%d		%s\n",i,cognomi[i]);}
printf("\n");}

void aggiungere(){
int p;
printf("Inserisci posto in cui vuoi inserire uno spettatore\n");
scanf("%d",& p);

		
}

int main(){
int scelta;
do{
printf("Cosa vuoi fare?\n 1-Inserire dati\n 2-Visualizzare dati\n 3-Aggiungere uno spettatore\n 4-Fine\n");
scanf("%d",& scelta);
switch(scelta){
case 1: inserisci_dati();break;
case 2: visualizza();break;}
case 3: aggiungere();break;}
}while(scelta!=4);}

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte