Здравствуйте, нужно переделать данную функцию, так, что б вместо подпоследовательности char, она проверяла подпоследовательность int:
int check_subsequence (char a[], char b[]) {
int c, d;
c = d = 0;
while (a[c] != '\0') {
while ((a[c] != b[d]) && b[d] != '\0') {
d++;
}
if (b[d] == '\0')
break;
d++;
c++;
}
if (a[c] == '\0')
return 1;
else
return 0;
}
Входны данные в функцию:
bool check_subsequence(int *A, int *B, int n, int m)//n- длина A, m - длина B
Простой дословный перевод вашей функции -
bool check_subsequence(int *a, int *b, int n, int m)
{
int c = 0, d = 0;
while (c != n) {
while((d != m) && (a[c] != b[d])) {
d++;
}
if (d == m)
break;
d++;
c++;
}
if (c == n)
return true;
else
return false;
}
Не компилировал и не тестировал, но слишком просто, чтоб сильно ошибиться :)
Написал альтернативный:
bool check_subsequence(int *a, int *b, int n, int m)
{
while ((n > 0) && (m > 0)) {
if (a[n] == b[m]) {
--n;
--m;
}
else
{
--n;
}
}
if (m == 0)return true;
else return false;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть приложение UWP (C#),которое отображает текущую погоду и ее прогноз, с самым простым функционалом
Нужна помощь с анимацией на DirectX