Buongiorno a tutti,
di recente a scuola mi è stato dato un semplice programma dove dovevo creare una cornice di "n" righe e "m" colonne. Dopo aver svolto correttamente l'esercizio, la professoressa mi ha proposto di provare a farlo unendo due for in uno solo. Dopo svariati tentativi non sono riuscito a concludere nulla.
Il problema penso stia nel fatto che l'istruzione che prima apparteneva al for nidificato ora venga svolta insieme alle altre.
Sapreste aiutarmi?
Programma con 4 for :
#include <stdio.h>
int main()
{
int i, j, n, m;
printf("Inserire il numero di righe: ");
scanf("%d", &n);
printf("Inserire il numero di colonne: ");
scanf("%d", &m);
for (i = 1; i <= m; i++)
printf("*");
printf("\n");
for (i = 1; i <= n -2; i++)
{
printf("*");
for (j=1; j <= m - 2; j++)
printf(" ");
printf("*\n");
}
for (i=1; i<=m; i++)
printf("*");
printf("\n");
}
Tentativo con 3 for :
#include <stdio.h>
int main()
{
int i, j, n, m;
printf("Inserire il numero di righe: ");
scanf("%d", &n);
printf("Inserire il numero di colonne: ");
scanf("%d", &m);
for (i = 1; i <= m; i++)
printf("*");
printf("\n");
for (i=1; i<=n-2 && i<=m-2; i++)
{
printf("*");
printf(" ");
printf("*\n");
}
for (i=1; i<=m; i++)
printf("*");
printf("\n");
}