Ciao a 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;
}