АИ
Аня Иванова

Помогитеисправить алгоритм подсчета"коров" в игре "быки и коровы" в паскале.

write('Введите четырехзначное число: '); readln(p);
b:=0; c:=0;
p1:=p div 1000; p2:=p mod 1000 div 100; p3:=p mod 100 div 10; p4:=p mod 10;
writeln(p1,p2,p3,p4);
if p1=z1 then b:=b+1; if p2=z2 then b:=b+1; if p3=z3 then b:=b+1; if p4=z4 then b:=b+1;
if ((p1=z2) or (p1=z3) or (p1=z4)) and ((p2=z1) or (p2=z3) or (p2=z4)) and ((p3=z1) or (p3=z2) or (p3=z4)) and ((p4=z1) or (p4=z2) or (p4=z3)) then c:=c+1;
writeln('Быки: ',b,' Коровы: ',c);

U5
Urfan 57

Сильно. Во-первых, что не работает, во-вторых, хотелось бы увидеть условие задачи, в-третьих, ну хотя бы код закомментировал! Иногда свой код не поймешь, а в чужой вообще потемки 😄

Сергей Журавлёв
Сергей Журавлёв

Проще решать через строковые переменные с использованием множеств:

Здесь ввод «числа» вынесен в подпрограмму, где сразу проверяем правильность ввода по условию задачи:
— введено должно быть только число
— длина числа должна быть именно 4 цифры
— каждая цифра в числе встречается только 1 раз
— первая цифра не должна быть „0“

P.S. Скриншот реально работающей программы „Быки и коровы“.

Похожие вопросы
помогите составить алгоритм в паскале по задаче :
Про окраску быка и коровы
Помогите написать Игру "быки и коровы" на паскале или делфи
как написать алгоритм в паскале???
Быков С. Ф Алгоритм сжатия JPEG с позиции компьютерной стеганографии
в minecraft есть коровы. Их надо размножать с помощью быков? если да где найти быков?
Есть у кого алгоритм или код на паскале отрисовки орграфа?
Напишите алгоритм на языке Паскаль
~~А Бык любуется коровьим выменем...?))
Разветвленные алгоритмы. Паскаль