Member 13387896 Ответов: 1

Пусть a и b - два целых массива одинаковой длины. Мы говорим, что они “эквивалентны сдвигу”, если массив a можно сдвинуть вправо, чтобы создать массив b.


эквивалент bool (int s [], int n[], int c){

for (int p=0 ; p< c; p++){
for (int i=0; i< c; i++){
если (s[i]==n[i+p%c])
вернуть true;

}
}
возвращать false;
}




#include <iostream>
использование пространства имен std;
тап_п (){

int A [5];
int B[5];
for (int i=0; i< 5; i++){
cout << " для массива A введите 5 чисел ";
cin>> A[i];
}
for (int i=0; i< 5; i++){
cout << " для массива B введите 5 чисел ";
cin>> B[i];
}

если (эквивалент (A, B, 5))
cout<< " это правильно";
еще{
cout< & lt; " это неправильно";
}

возвращает 0;
}

Что я уже пробовал:

хорошо, дело в том, что каждый раз, когда я помещаю другой набор массивов, он проходит через оператор if один раз. я имею в виду, что один раз, если утверждение истинно, оно возвращает true. однако я хочу, чтобы оператор if выполнялся n раз, а затем возвращал мне true или false.

1 Ответов

Рейтинг:
2

Patrice T

Цитата:
я хочу, чтобы оператор if выполнялся n раз, а затем возвращал мне true или false.

Используйте цикл " for " точно так же, как вы делали это для пользовательского ввода.

Я не знаю, что вы пытаетесь сделать, но в этой строке кода,
if (s[i]==n[i+p%c])

каждый раз i+p%c больше 4, Вы находитесь за пределами массива n.

Используйте отладчик, чтобы увидеть, что делает ваш код.

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик-Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.