- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
#include <iostream>
class TerVer {
public:
short d1, d2, d3, d4;
short totalCounter, goodCounter;
bool DoneInc;
TerVer(): d1(1), d2(0), d3(0), d4(0), totalCounter(1), goodCounter(0), DoneInc(false) {}
bool IsGood() {
return (
(d1==d2 && d1!=d3 && d1!=d4 && d3!=d4) ||
(d1==d3 && d1!=d2 && d1!=d4 && d2!=d4) ||
(d1==d4 && d1!=d2 && d1!=d3 && d2!=d3) ||
(d2==d3 && d2!=d1 && d2!=d4 && d1!=d4) ||
(d2==d4 && d2!=d1 && d2!=d3 && d1!=d3) ||
(d3==d4 && d3!=d1 && d3!=d2 && d1!=d2)
) ? true : false;
}
void Inc() {
d4++;
if(d4>9) { d4=0; d3++; if(d3>9) {d3=0; d2++; if(d2>9) { d2=0; d1++; if(d1>9) DoneInc = true; } } }
if (!DoneInc) { totalCounter++; if (IsGood()) goodCounter++; }
}
};
int main() {
TerVer z;
while(!z.DoneInc) {
z.Inc();
}
cout << z.goodCounter << " / " << z.totalCounter << " = " << (double)z.goodCounter/z.totalCounter << endl;
return 0;
}
Найти вероятность того, что в случайном четырехзначном числе ровно две цифры совпадают.
Вот что бывает, когда лень думать.
guest 31.03.2010 08:44 # +2.6
-1
guest 31.03.2010 11:36 # 0
IsGood() должна быть const,
d1, d2, d3, d4, IsGood() - private.
И функцию печати тоже надо было засунуть в класс...
guest 31.03.2010 13:09 # +1.2
guest 31.03.2010 13:31 # −0.4
guest 31.03.2010 20:26 # +0.2
Может ты в школе неговнокодил?
guest 01.04.2010 18:19 # +0.4
guest 01.04.2010 18:19 # +0.4
guest 31.03.2010 14:48 # 0
аутпут приложения удивляет: 3888 / 9000 = 0.432
у тебя не приняли лабу, да?
guest 31.03.2010 15:45 # +0.4
Компилируйте код на С++ с помощью g++ - избежите многих проблем.
guest 31.03.2010 15:54 # −0.4
i686-apple-darwin9-g++-4.0.1: no input files
$ head -n 1 text.cpp
#include <iostream>
$ g++ text.cpp
text.cpp: In function ‘int main()’:
text.cpp:33: error: ‘cout’ was not declared in this scope
text.cpp:33: error: ‘endl’ was not declared in this scope
ЧЯДНТ?
guest 31.03.2010 15:58 # +0.2
#include <iostream.h>
$ g++ text.cpp
In file included from /usr/include/c++/4.0.0/backward/iostream.h:31,
from text.cpp:1:
/usr/include/c++/4.0.0/backward/backward_warning.h:32:2: [........]
$ ./a.out
3888 / 9000 = 0.432
guest 31.03.2010 23:45 # +0.6
не понимаешь ругань компилятора
guest 01.04.2010 02:51 # 0
guest 01.04.2010 21:20 # 0
#include <iostream>
using namespace std;
guest 31.03.2010 17:25 # 0
elmigranto 01.04.2010 07:34 # −1
Что удивительного? Так и есть.
И да, это не лаба по программированию. Это одна из задач лабы по тер. веру.
guest 01.04.2010 11:03 # +0.4
9999
elmigranto 01.04.2010 14:14 # 0
9999-1000+1=8999+1=9000
нет?
guest 01.04.2010 14:50 # 0
0002
)
elmigranto 01.04.2010 16:01 # 0
guest 01.04.2010 11:48 # +2.6
return ((d1 == d2) + (d1 == d3) + (d1== d4) + (d2 == d3) + (d2 == d4) +(d3 == d4)) == 1
TarasB 02.04.2010 20:57 # +0.4
Дословно "Количество совпадений == 1".
guest 03.04.2010 13:28 # 0
guest 05.04.2010 22:02 # 0