При помощи операторов цикла do while осуществить ввод цифр в комбинацию трех цифрового сейфа - C#
Формулировка задачи:
Написать приложение,которое при помощи операторов цикла do while будет осуществлять ввод цифр в комбинацию трех цифрового сейфа.Условием выхода из цикла,является полное соответствие шифра,то есть каждая из цифр кода должна стоять на своем месте.После каждой итерации из ввода трех значений ,выводить статистику:
1)Сколько из введённых цифр присутствуют в шифре
2)Сколько из них находятся на нужной позиции
Помогите задание надо сделать с действием if никак не получается.
Решение задачи: «При помощи операторов цикла do while осуществить ввод цифр в комбинацию трех цифрового сейфа»
textual
Листинг программы
static void Main(string[] args)
{
string shifr = "126";
string code="";
do
{
int r=0, p=0;
Console.WriteLine("Введите цифры:");
code=Console.ReadLine();
for(int i=0;i<shifr.Length;i++)
{
if (shifr[i] == code[i])
p++;
if (shifr.Contains(code[i])) //вот здесь вопрос: если шифр 123, а ввели 221, нужно ли считать двойку дважды?
r++;
}
Console.WriteLine("Кол-во введенных цифр, присутствующих в коде: {0}", r);
Console.WriteLine("Кол-во цифр на своих местах: {0}", p);
}
while (code!=shifr);
Console.WriteLine("Код подобран. Для продолжения нажмите любую клавишу...");
Console.ReadKey();
}