Hej, mam takie zadanie:
Dwie liczby naturalne są zgodne, jeżeli w zapisie dwójkowym zawierają tę samą liczbę jedynek, oraz tę samą liczbę zer. Dane są dwie globalne tablice wypełnione liczbami naturalnymi: int t1[max1], int t2[max2][max2], max2>>max1
Napisać funkcję,, która sprawdza czy istnieje takie poziome położenie tablicy t1 wewnątrz tablicy t2, przy którym liczba zgodnych elementów jest większa od P procent liczby elementów tablicy t1. P jest liczbą całkowitą z zakresu 1-99 włącznie. Do funkcji należy przekazać liczbę P. Obie oryginalne tablice powinny pozostać niezmienione.
I chodzi o to, że nie wiem w jaki sposób "przesuwać" się tą pierwszą tablicą w wierszu drugiej tablicy. Proszę o jakąś wskazówkę.
Część mojego programu:
A i przyjąłem na razie male rozmiary tablic bo chce sobie to wszystko wypisać t1[4], t2[10][10]
//sprawdzamy czy istnieje polozenie
licz_zgod = 0;
k = 0;
for (i = 0; i < 10; i++) {
//while (j < 10) ??
for (j = 0; j < 10 && k < 4; j++) {
if (zgodne(t1[k], t2[i][j])) { //inna funkcja na sprawdzenie czy sa zgodne
licz_zgod++;
}
k++;
}
if (licz_zgod > p) {
return 1;
}
else {
k = 0; // zeruje k i chce zaczac od nowa sprawdzac do konca wiersza drugiej tablicy
//ale nie wiem jak zrobic zeby zaczac od j+1 kolumny
}
}