void readResponses(string address, string (&rResponse)[15][4]) {}
byte[] streamedResponse = new byte[100];
for (int iWord = 0, iByte = 4;
iWord < 50;
++iWord, iByte += 2) {
int w = MassCurrentsPhases[iWord];
streamedResponse[iByte] = (byte)w;
streamedResponse[iByte + 1] = (byte)(w >> 8);
}
int asInt = Float.floatToIntBits(asFloat);
byte data0 = (byte)asInt;
byte data1 = (byte)(asInt >> 8);
byte data2 = (byte)(asInt >> 16);
byte data3 = (byte)(asInt >> 24);
<pluralRules nDecisions="3" unknownInt="2"> ← вариантов три; если ни одно из правил не подошло, брать последний («ворон»)
<rule mod="100" min="10" max="20" decide="2" /> ← остаток на 100 от 10 до 20 — «ворон»
<rule mod="10" min="1" max="1" decide="0" />
<rule mod="10" min="2" max="4" decide="1" />
</pluralRules>
static inline Settings applicationSettings(){
if (!File::exists(settingsFilePath)){
Settings set(settingsFilePath);
set.initializeDefaults();
return set;
}else{
return Settings(settingsFilePath);
}
}
class Father {
private:
String fName;
public:
virtual String& name() const { return fName; } // пока всё нормально, но…
};
class Son : public Father {
public:
String& name() const
{ return Father::name() + "'s son"; } // ошибка, возвращаем локальную переменную!
};
std::map<int, std::vector<int> >
.std::set<std::vector<int> >
. (В предыдущей версии я явно писал механизм сравнения, оказывается, он уже есть и писать ничего не нужно!) PATH %PATH%;d:\MinGW\x86\bin
g++ -fopenmp -c main.cpp -o main.o
g++ -o test.exe main.o -lgomp
pause
PATH %PATH%;d:\MinGW\i686-5.2.0-win32-dwarf-rt_v4-rev0\mingw32\bin\
g++ -fopenmp main.cpp -o test.exe
pause
trans := случайная перестановка чисел 0 … N−1
если N чётное
то M := N−1
иначе M := N
цикл 2half = false…true
цикл round = 0…M−1
цикл shift = 1…[M/2]
home := (round + shift) % M
away := (round + M − shift) % M
если (shift нечётное) xor 2half
обменять home, away
вывести trans[home], trans[away]
если N чётное
home := round
away := M
если (round нечётное) xor 2half
обменять home, away
вывести trans[home], trans[away]