Dzień dobry, potrzebuję pomocy z następującym zadaniem
Dwuwymiarowa tablica wartości typu bool może być intepretowana jak reprezentacja obrazka, w której wartość true reprezentuje czarne piksle, a wartość false - białe. Napisać program, który zawiera następujące sparametryzowane funkcje:
a. Funkcję wczytującą obrazek o podanych wymiarach do tablicy, która tęz jest parametrem tej funkcji. Na standardowym wejściu czarne piksle są reprezentowane jako znak 'X', a białe przez spacje. Np obrazek 5 na 5 może być zadany jako
b. Funkcję, która wypisuje obrazek z podanej jako parametr tablicy na standardowym wyjściu używając znaku x jako czarnego piksla.
c. Funkcję, która obraca obrazek w prawo o 90, 180 lub 270 stopni w zależności od wartości dodatkowego parametru.
Następnie napisać program testujący poprawność zdefiniowanych funkcji.
Nie wiem gdzie pojawia się problem, c jest dla mnie stosunkowo nowym językiem...
Mój kod:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
bool wczytaj(int x, int y, bool tab[x][y])
{
char c;
for(int i=0; i<x; i++)
{
for(int j=0; j<y; j++)
{
c=getchar();
if (c=='X'||c=='x')
tab[i][j]=1;
else
tab[i][j]=0;
}
}
return 0;
}
void wypisz(int x, int y, int tab[x][y])
{
for(int i=0; i<x; i++)
{
for(int j=0; j<y; j++)
{
if(tab[i][j])
printf("X");
else printf(" ");
}
printf("\n");
}
}
bool obrot(int x, int y, bool tab[x][y], int pivot)
{
int tmp;
bool tmptab[x][y];
for(int i=0; i<x; i++)
{
for(int j=0; j<y; j++)
{
tmptab[i][j]=tab[i][j];
}
}
if(pivot==1) //90
{
tmp=x;
x=y;
y=x;
for(int i=0; i<y; i++)
{
for(int j=0; j<x; j++)
{
tab[i][j]=tmptab[x-j+1][i];
}
}
}
if(pivot==2) //180
{
for(int i=0; i<x; i++)
{
for(int j=0; j<y; j++)
{
tab[i][j]=tmptab[x-i+1][y-j+1];
}
}
}
if(pivot==3) //270
{
tmp=x;
x=y;
y=x;
for(int i=0; i<y; i++)
{
for(int j=0; j<x; j++)
{
tab[i][j]=tmptab[j][x-i+1];
}
}
}
}
int main()
{
bool tab[1000][1000];
wczytaj(5, 5, tab);
wypisz(5,5,tab);
return 0;
}
przez chwilę działał, ale źle np wpisując do tablicy tylko 0, teraz po skompilowaniu pojawia się błąd, nawet nic specjalnie w nim nie zmieniłem.
Bardzo docenię każdą pomoc!
- screenshot-20191103104622.png (1 KB) - ściągnięć: 106
- screenshot-20191103104607.png (1 KB) - ściągnięć: 123