// Zbalansowane słowa.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include <stdio.h> int main() { unsigned short occurence[3000][3]{ {0,0,0},{0,0,0} }; char debugbuff[3000] = " "; char letter; unsigned int index=1; while (letter=getchar()) { debugbuff[index] = letter; if (letter >= 'a' && letter <= 'c')occurence[index][letter - 'a']++; else break; occurence[index + 1][0] = occurence[index][0]; occurence[index + 1][1] = occurence[index][1]; occurence[index + 1][2] = occurence[index][2]; index++; } unsigned int occurenceEqual = 0; unsigned short dif[3]; unsigned int maxOccur = 0; for (size_t i = 1; i < index; i++) { for (size_t j = i; j < index; j++) { dif[0] = (occurence[j][0] - occurence[i-1][0]); dif[1] = (occurence[j][1] - occurence[i-1][1]); dif[2] = (occurence[j][2] - occurence[i-1][2]); if (dif[0] == 0) { if (dif[1] == 0) { maxOccur = dif[2]; } else { maxOccur = dif[1]; } } else { maxOccur = dif[0]; } size_t k; for (k = 0; k < 3; k++) { if (dif[k] == 0 || maxOccur == dif[k]) continue; else { k = 4; break; } } if (k == 3) { occurenceEqual++; } } } printf("%d",occurenceEqual); } // Run program: Ctrl + F5 or Debug > Start Without Debugging menu // Debug program: F5 or Debug > Start Debugging menu // Tips for Getting Started: // 1. Use the Solution Explorer window to add/manage files // 2. Use the Team Explorer window to connect to source control // 3. Use the Output window to see build output and other messages // 4. Use the Error List window to view errors // 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project // 6. In the future, to open this project again, go to File > Open > Project and select the .sln file
1 2 3 4 5 6 7 8 9 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | // Zbalansowane słowa.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include <stdio.h> int main() { unsigned short occurence[3000][3]{ {0,0,0},{0,0,0} }; char debugbuff[3000] = " "; char letter; unsigned int index=1; while (letter=getchar()) { debugbuff[index] = letter; if (letter >= 'a' && letter <= 'c')occurence[index][letter - 'a']++; else break; occurence[index + 1][0] = occurence[index][0]; occurence[index + 1][1] = occurence[index][1]; occurence[index + 1][2] = occurence[index][2]; index++; } unsigned int occurenceEqual = 0; unsigned short dif[3]; unsigned int maxOccur = 0; for (size_t i = 1; i < index; i++) { for (size_t j = i; j < index; j++) { dif[0] = (occurence[j][0] - occurence[i-1][0]); dif[1] = (occurence[j][1] - occurence[i-1][1]); dif[2] = (occurence[j][2] - occurence[i-1][2]); if (dif[0] == 0) { if (dif[1] == 0) { maxOccur = dif[2]; } else { maxOccur = dif[1]; } } else { maxOccur = dif[0]; } size_t k; for (k = 0; k < 3; k++) { if (dif[k] == 0 || maxOccur == dif[k]) continue; else { k = 4; break; } } if (k == 3) { occurenceEqual++; } } } printf("%d",occurenceEqual); } // Run program: Ctrl + F5 or Debug > Start Without Debugging menu // Debug program: F5 or Debug > Start Debugging menu // Tips for Getting Started: // 1. Use the Solution Explorer window to add/manage files // 2. Use the Team Explorer window to connect to source control // 3. Use the Output window to see build output and other messages // 4. Use the Error List window to view errors // 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project // 6. In the future, to open this project again, go to File > Open > Project and select the .sln file |