Witam!
Program ma za zadanie pytać użytkownika o liczbę kolumn i wierszy w macierzy po czym prosić o podanie wartoścido umieszczenia w każdym polu macierzy.
Zasadniczo program wykonałem i działa, jednakże mam problem z pętlami, które odrzucą błędnie wpisane dane rozmiaru/wartości, czyli np. wpisanie char/string zamiast int z zakresu 1-20 (dot. rozmiarów macierzy) oraz wszystkiego poza intem dla poszczególnych pól w macierzy. Aktualnie moje pętle w przypadku wpisanie złej danej nie wracają do swojego początku aby poprosić o poprawną daną.
#include<stdlib.h>
#include<stdio.h>
int main()
{
int n,i,j,k;
float S;
printf("How many rows?\n");
while (scanf("%d", &n) == 1)
{
if (n>=20||n<0)
{
printf("You entered wrong number\n");
continue;
}
printf("You entered correct number\n");
}
printf("How many columns?\n");
while (scanf("%d", &k) == 1)
{
if (k>=20||k<0)
{
printf("You entered wrong number\n");
continue;
}
printf("You entered correct number\n");
}
printf("\n");
float tab[n][k];
for(j=0; j<n; j++)
{
for(i=0; i<k; i++)
{printf("Element [%d][%d]: ", j+1,i+1);
scanf("%f", &tab[j][i]);
}
}
printf("\n");
for(j=0; j<n; j++)
{
S=0;
for(i=0; i<k; i++)
{
S+=tab[j][i];
}
printf("The sum of the elements in row %d: %f\n", j+1, S);
}
printf("\n");
for(i=0; i<k; i++)
{
S=0;
for(j=0; j<n; j++)
{
S+=tab[j][i];
}
printf("The sum of the elements in column %d: %f\n", i+1, S);
}
printf("\n");
system("PAUSE");
return 0;
}