Софтуерно Инженерство
Loading...
+ Нов въпрос
SonGokuBg avatar SonGokuBg 3 Точки

Задача: комбинации от букви

Напишете програма, която да принтира на конзолата всички комбинации от 3 букви в зададен интервал, като се пропускат комбинациите, съдържащи зададена от конзолата буква. Накрая трябва да се принтира броят отпечатани комбинации.

Входни данни

Входът се чете от конзолата и съдържа точно 3 реда:

  • Малка буква от английската азбука за начало на интервала – от 'a' до 'z'.
  • Малка буква от английската азбука за край на интервала – от първата буква до 'z'.
  • Малка буква от английската азбука – от 'a' до 'z' – като комбинациите, съдържащи тази буква се пропускат.

Изходни данни

Да се отпечатат на един ред всички комбинации, отговарящи на условието, следвани от броя им, разделени с интервал.

Моето решение: https://pastebin.com/uzLzyf4x

Въпросът ми е защо трябва да е  if (first != exceptLetter && second != exceptLetter && third != exceptLetter)

А не  if (first != exceptLetter || second != exceptLetter || third != exceptLetter)

Тагове:
Savas avatar Savas 21 Точки

first != exceptLetter && second != exceptLetter && third != exceptLetter

това означава: първата буква трябва да е различна от exceptLette И вторат буква трябва да е различна от exceptLette И третата буква трябва да е различна от exceptLette т.е. - "не искам да виждам никъде exceptLette" - тогава си ОК (true)

когато имаш или (||) - е достатъчно на една от позициите да нямаш exceptLetter - и това е ОК за теб .. но ако на другите две позиции имаш exceptLetter не те бърка че ще я имаш - и ще изкараш "true"  ... а условието е никъде да нямаш exceptLetter.

0
13/02/2020 17:19:00
SonGokuBg avatar SonGokuBg 3 Точки

Аз това го знам, но защо не успях да го проумея...

0