Очень Напишите программу, которая будет считывать четырехзначное число и выводить 1, если в нем ровно две одинаковые цифры, во всех остальных случаях программа выводит любое число.
function isLucky(a: integer): boolean; var s: string; begin str(a, s); while length(s) < 6 do s := '0' + s; isLucky := ord(s[1]) + ord(s[2]) + ord(s[3]) = ord(s[4]) + ord(s[5]) + ord(s[6]) end; var sTicket: string; iTicket, i, err, sum: longint; begin write('Введите Ваш номер билета: '); read(sTicket); val(sTicket, iTicket, err); for i := 1 to iTicket do if isLucky(i) then inc(sum); writeln('Выдано ', sum, ' счастливых билетов'); writeln('Осталось выдать ', 55251 - sum, ' счастливых билетов') end.
С использованием оператора if: #include <iostream> using namespace std; int main(){ int x, y; setlocale(LC_ALL, "Russian"); cout << "Введите координату X: "; cin >> x; cout << "Введите координату Y: "; cin >> y; if ((x > 0) && (y > 0)) { cout << "Точка находится в I четверти."; } else if ((x < 0) && (y > 0)) { cout << "Точка находится в II четверти."; } else if ((x < 0) && (y < 0)) { cout << "Точка находится в III четверти."; } if ((x > 0) && (y < 0)) { cout << "Точка находится в IV четверти."; } system("pause"); return 0;}
С использованием тернарного оператора: #include <iostream> using namespace std; int main(){ int x, y; setlocale(LC_ALL, "Russian"); cout << "Введите координату X: "; cin >> x; cout << "Введите координату Y: "; cin >> y; x > 0 && y > 0 ? cout << "Точка находится в I четверти" << endl : cout; x < 0 && y > 0 ? cout << "Точка находится в II четверти" << endl : cout; x < 0 && y < 0 ? cout << "Точка находится в III четверти" << endl : cout; x > 0 && y < 0 ? cout << "Точка находится в IV четверти" << endl : cout; system("pause"); return 0; }
Насчет тернарного не полностью уверен, так как вообще им не пользуюсь, хотя ответ выдает верный. Раз вы сказали, что они не могут быть 0, то учитывать, что точки могут лежать на осях или в начале координат не буду.
var s: string;
begin
str(a, s);
while length(s) < 6 do s := '0' + s;
isLucky := ord(s[1]) + ord(s[2]) + ord(s[3]) = ord(s[4]) + ord(s[5]) + ord(s[6])
end;
var
sTicket: string;
iTicket, i, err, sum: longint;
begin
write('Введите Ваш номер билета: ');
read(sTicket);
val(sTicket, iTicket, err);
for i := 1 to iTicket do
if isLucky(i) then inc(sum);
writeln('Выдано ', sum, ' счастливых билетов');
writeln('Осталось выдать ', 55251 - sum, ' счастливых билетов')
end.
#include <iostream>
using namespace std;
int main(){
int x, y;
setlocale(LC_ALL, "Russian");
cout << "Введите координату X: ";
cin >> x;
cout << "Введите координату Y: ";
cin >> y;
if ((x > 0) && (y > 0)) {
cout << "Точка находится в I четверти.";
} else if ((x < 0) && (y > 0)) {
cout << "Точка находится в II четверти.";
} else if ((x < 0) && (y < 0)) {
cout << "Точка находится в III четверти.";
} if ((x > 0) && (y < 0)) {
cout << "Точка находится в IV четверти.";
}
system("pause");
return 0;}
С использованием тернарного оператора:
#include <iostream>
using namespace std;
int main(){
int x, y;
setlocale(LC_ALL, "Russian");
cout << "Введите координату X: ";
cin >> x;
cout << "Введите координату Y: ";
cin >> y;
x > 0 && y > 0 ? cout << "Точка находится в I четверти" << endl : cout;
x < 0 && y > 0 ? cout << "Точка находится в II четверти" << endl : cout;
x < 0 && y < 0 ? cout << "Точка находится в III четверти" << endl : cout;
x > 0 && y < 0 ? cout << "Точка находится в IV четверти" << endl : cout;
system("pause");
return 0;
}
Насчет тернарного не полностью уверен, так как вообще им не пользуюсь, хотя ответ выдает верный. Раз вы сказали, что они не могут быть 0, то учитывать, что точки могут лежать на осях или в начале координат не буду.