Надо задать функцию, чтобы если у кого-то 3 и н/ат то программа ставила в окошке «стипендия» - нет. я написал команду только чтобы из за тройки в стипендии ставилось «нет», как сделать так, чтобы при наличии «н/ат» в стипендии тоже ставилось «нет»?
int main() { setlocale(LC_ALL, "Russian"); int N, y, i; bool Prime; cout << "Введите число: "; cin >> N; do { Prime = true; y = N % 10; for (i = 2; i <= (sqrt(abs(y))); i++) { if (y % i == 0) { Prime = false; break; } } if ((Prime) & (y != 0) & (y != 1)) cout << y << " - простое" << endl; else cout << y << " - не простое" << endl; N = N / 10; } while (N != 0); system("pause"); return 0; }
Если ввести X или Y значительно больше чем Z то программа на втором или тертьем условии выдаст false и закончит свою работу ничего не написав. Например: если указать X = 10 , Y = 2, Z = 3; то на первом условии будет true, потому что 10 +2 > 3 , но на третьем условии выдаст false потому что 2+3 < 10 но так как ничего не прописано на этот случай программа просто закончит свою работу. Что бы исправить этот баг необходимо все условия свести в одно: if ((x + y > z)and (x + z > y) and (y + z > x) ) then writeln('треугольник построить можно') else writeln('треугольник построить нельзя'); end.
Это решение так же является ответом на 3-й вопрос.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку