Re: Графи
Поки що - маленька порада.
if (room == 0) {
cas[i][j] = '0';
cas[j][i] = '0';
}
else {
if (room == 1) {
cas[i][j] = '1';
cas[j][i] = '1';
}
else {
if (room == 2) {
cas[i][j] = '2';
cas[j][i] = '2';
}
else {
if (room == 3) {
cas[i][j] = '3';
cas[j][i] = '3';
}
else {
if (room == 4) {
cas[i][j] = '4';
cas[j][i] = '4';
}
else {
if (room == 5) {
cas[i][j] = '5';
cas[j][i] = '5';
}
}
Для початку: це дещо неочевидно, але якщо сприймати else if як єдину конструкуцію, такі вирази стають значно виразнішими.
if (room == 0) {
cas[i][j] = '0';
cas[j][i] = '0';
}
else if (room == 1) {
cas[i][j] = '1';
cas[j][i] = '1';
}
else if ...
Але це - у тих випадках, де це потрібно. Тут же це не потрібно. Скористаємося з того факту, що коди цифр 0..9 в ASCII послідовні (можна було б і без цього, але тоді код був би трохи складнішим):
int room = rand() % 6;
char room_as_char = '0'+room; //room_as_char - це наш номер як символ
cas[i][j] = cas[j][i] = room_as_char;
От і все. Без усіх if-else.
За бажання можна взагалі скоротити до
cas[i][j] = cas[j][i] = '0' + rand() % 6;
замість 20 рядків у 6 рівнів вкладеності.