Get rid of unnecessary arrays in computation of matrices

sql-rework
Tomasz Golinski 2020-01-25 15:30:57 +01:00
rodzic 6c6b08ff27
commit f23739062c
1 zmienionych plików z 7 dodań i 8 usunięć

Wyświetl plik

@ -327,7 +327,7 @@ int main(int argc, char** argv) {
show_histogram(cc, &Cache::year, "Years", 1, 0); show_histogram(cc, &Cache::year, "Years", 1, 0);
// DT matrix // DT matrix
short dt_table[11][11]; short count;
int n = 0; int n = 0;
std::cout << "<h2>Difficulty / terrain matrix</h2>\n"; std::cout << "<h2>Difficulty / terrain matrix</h2>\n";
@ -341,11 +341,11 @@ int main(int argc, char** argv) {
for (int i = 2; i <= 10; i++) { // i -> diff in rows for (int i = 2; i <= 10; i++) { // i -> diff in rows
std::cout << "<tr><td class=\"dt_head\">" << i / 2.0 << "</td> "; std::cout << "<tr><td class=\"dt_head\">" << i / 2.0 << "</td> ";
for (int j = 2; j <= 10; j++) { // j -> terr in cols for (int j = 2; j <= 10; j++) { // j -> terr in cols
dt_table[i][j] = std::count_if(cc.begin(), cc.end(), [i, j](Cache c) { return (c.diff == i / 2.0 && c.terr == j / 2.0); }); count = std::count_if(cc.begin(), cc.end(), [i, j](Cache c) { return (c.diff == i / 2.0 && c.terr == j / 2.0); });
if (dt_table[i][j] == 0) if (count == 0)
std::cout << "<td class=\"dt_zero\">" << 0 << "</td>"; std::cout << "<td class=\"dt_zero\">" << 0 << "</td>";
else { else {
std::cout << "<td>" << dt_table[i][j] << "</td>"; std::cout << "<td>" << count << "</td>";
n++; n++;
} }
} }
@ -358,7 +358,6 @@ int main(int argc, char** argv) {
std::cout << "</div>\n"; std::cout << "</div>\n";
// Days matrix // Days matrix
short days_table[12][31];
n = 0; n = 0;
std::cout << "<h2>Caching days matrix</h2>\n"; std::cout << "<h2>Caching days matrix</h2>\n";
@ -372,11 +371,11 @@ int main(int argc, char** argv) {
for (int i = 1; i <= 12; i++) { // i -> months in rows for (int i = 1; i <= 12; i++) { // i -> months in rows
std::cout << "<tr><td class=\"dt_head\">" << i << "</td> "; std::cout << "<tr><td class=\"dt_head\">" << i << "</td> ";
for (int j = 1; j <= 31; j++) { // j -> days in cols for (int j = 1; j <= 31; j++) { // j -> days in cols
days_table[i-1][j-1] = std::count_if(cc.begin(), cc.end(), [i, j](Cache c) { return (c.date_tm.tm_mon == i && c.date_tm.tm_mday == j); }); count = std::count_if(cc.begin(), cc.end(), [i, j](Cache c) { return (c.date_tm.tm_mon == i && c.date_tm.tm_mday == j); });
if (days_table[i-1][j-1] == 0) if (count == 0)
std::cout << "<td class=\"dt_zero\">" << 0 << "</td>"; std::cout << "<td class=\"dt_zero\">" << 0 << "</td>";
else { else {
std::cout << "<td>" << days_table[i-1][j-1] << "</td>"; std::cout << "<td>" << count << "</td>";
n++; n++;
} }
} }