Ciaoa tutti io ho un piccolo problema volevo chiedere come posso risolverlo: " I vettori li puoi stampare usando la notazione vettoriale applicata al puntatore e la notazione dei puntatori applicata ai vettori."
codice:#include <stdio.h> #include <stdlib.h> int main() { int voti[200]; //•dichiari un array contenente i voti di 200 studenti int studenti; int nstud[200]; int *ptr; int i,j; //ptr punt al primo elemento del vettore ptr=voti; printf("Inserire un numero di studenti (massimo 200): "); while (scanf("%d", &studenti) != 1 || (studenti<1||studenti>200)) { printf("Inserire numero corretto da 1 a 200: \n"); /* rimuovo eventuali caratteri rimasti nel buffer fino al newline */ while (getchar() != '\n'); } for (i=0;i<studenti;i++) { printf("Inserire voto dello studente n %d compreso tra 18 e 30: ",i+1); //controllo sia stato inserito un voto esatto while (scanf("%d", ptr+i) != 1 || (*(ptr+i)<18||*(ptr+i)>30)) { printf("Inserire voto corretto compreso tra 18 e 30: "); /* rimuovo eventuali caratteri rimasti nel buffer fino al newline */ while (getchar() != '\n'); } } for (i = 0; i < studenti; i++) { nstud[i] = i + 1; } printf("Numero |I voti inseriti sono: \n"); printf("studenti: |Vettore: Puntatore:\n"); //inizializzo ciclo for per stampare i voti degli studenti for (i = 0; i < studenti; i++) { printf("%d | %d | %d \n",nstud[i], voti[i], *(ptr + i)); } system("Pause"); //SECONDO MODO printf("\n\n\n"); printf("Utilizzo il secondo metodo:\n\n"); printf("Inserire un numero di studenti (massimo 200): "); while (scanf("%d", &studenti) != 1 || (studenti<1||studenti>200)) { printf("Inserire numero corretto da 1 a 200: \n"); //rimuovo eventuali caratteri rimasti nel buffer fino al newline while (getchar() != '\n'); } for (i=0;i<studenti;i++) { printf("Inserire voto dello studente n %d compreso tra 18 e 30: ",i+1); while ((scanf("%d", &voti[i]) != 1) || (voti[i]<18||voti[i]>30)) { printf("Inserire voto corretto compreso tra 18 e 30: ",i+1); // rimuovo eventuali caratteri rimasti nel buffer fino al newline while (getchar() != '\n'); } } for (i = 0; i < studenti; i++) { nstud[i] = i + 1; } printf("Numero |I voti inseriti sono: \n"); printf("studenti: |Vettore: | Puntatore:\n"); for (i = 0; i < studenti; i++) { printf("%d | %d | %d \n",nstud[i], voti[i], *(ptr + i)); } system("Pause"); return 0; }


Rispondi quotando