Cześć. Mam dość dziwny problem. W programie do edycji obrazów .pgm mam m.in. funkcje do negatywu oraz konturowania. Z poziomu menu wszystko gra i buczy, ale przez wpisywanie z poziomu konsoli niestety nie.
To są te dwie funkcje:
int negatyw (int obrazek[][MAX], int *wymx,int *wymy, int szarosci)
{
int i,j;
for (i=0; i<*wymy;++i) /*dla kazdej kolumny*/
{ /*a w kazdej dla wierszy*/
for (j=0; j<*wymx;++j) obrazek[i][j]=szarosci-obrazek[i][j];
} /*odejmij wartosc od szarosci*/
}
int konturowanie (int obrazek[][MAX], int *wymx,int *wymy)
{
int i,j;
for (i=0; i<*wymy;++i) /*dla kazdej kolumny*/
{ /*a w kazdej dla wierszy*/
for (j=0; j<*wymx;++j)
{
obrazek[i][j]=abs(obrazek[i+1][j]-obrazek[i][j])+abs(obrazek[i][j+1]-obrazek[i][j])/2;
}
}
}
a to framgent switcha do czytania polecenia z konsoli:
case 'n':/*****************************NEGATYW*/
f_negatyw=1;
if (f_wczytaj==0) printf("Najpierw podaj plik do wczytania!\n");
else negatyw(obraz, &wymx, &wymy, odcieni);
break;
case 'k':/*****************************KONTUROWANIE*/
f_kontur=1;
if (f_wczytaj==0) printf("Najpierw podaj plik do wczytania!\n");
else konturowanie(obraz, &wymx, &wymy);
break;
I teraz tak. Po wpisaniu (pomijam odczyt i zapis) program.out -n -k wszystko jest ok, ale wpisanie program.out -k -n zapisuje plik z błędem. Jakieś pomysły skąd to się może brać?