#include "stdafx.h"
#include "locale.h"
#include "stdlib.h"
#include <fstream>
#include <ctype.h>
using namespace std;
int const n_digits = 32;
int digram[n_digits][n_digits];
void CountDigrams(char *text)
{
char prev = 0;
while (*text)
{
char curr = tolower(*text);
if ('а' <= prev && 'я' >= prev && 'а' <= curr && 'я' >= curr)
digram[prev - 'а'][curr - 'а']++;
prev = curr;
text++;
}
}
void SaveDigram(char *filename)
{
std::ofstream ofs;
ofs.open(filename, std::ofstream::out);
ofs << " ";
for (int i = 0; i < n_digits; i++)
ofs << (char)('а' + i) << " ";
ofs << endl;
for (int j = 0; j < n_digits; j++)
{
ofs << (char)('а' + j) << " ";
for (int i = 0; i < n_digits; i++)
{
ofs.width(2);
ofs << digram[i][j] << " ";
}
ofs << endl;
}
ofs.close();
}
char *real_text =
"Сел в углу перед окном \n"
"И заснул спокойным сном...\n"
"— Это что за полустанок? — \n"
"Закричал он спозаранок. \n"
"А с платформы говорят:\n"
"— Это город Ленинград.\n"
"Он опять поспал немножко \n"
"И опять взглянул в окошко, \n"
"Увидал большой вокзал, \n"
"Удивился и сказал:\n"
"— Это что за остановка — \n"
"Бологое иль Поповка? — \n"
"А с платформы говорят:\n"
"— Это город Ленинград.\n"
"Он опять поспал немножко \n"
"И опять взглянул в окошко, \n"
"Увидал большой вокзал, \n"
"Потянулся и сказал:\n"
"— Что за станция такая — \n"
"Дибуны или Ямская? — \n"
"А с платформы говорят:\n"
"— Это город Ленинград.\n"
"Закричал он: — Что за шутки!\n"
"Еду я вторые сутки,\n"
"А приехал я назад,\n"
"А приехал в Ленинград!\n";
int main(int argc, _TCHAR* argv[])
{
setlocale(0, "rus");
CountDigrams(real_text);
SaveDigram("digram.txt");
return 0;
}
I2luY2x1ZGUgInN0ZGFmeC5oIgoKI2luY2x1ZGUgImxvY2FsZS5oIgoKI2luY2x1ZGUgInN0ZGxpYi5oIgoKI2luY2x1ZGUgPGZzdHJlYW0+CgojaW5jbHVkZSA8Y3R5cGUuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgY29uc3Qgbl9kaWdpdHMgPSAzMjsKCmludCBkaWdyYW1bbl9kaWdpdHNdW25fZGlnaXRzXTsKCnZvaWQgQ291bnREaWdyYW1zKGNoYXIgKnRleHQpCgp7CgpjaGFyIHByZXYgPSAwOwoKd2hpbGUgKCp0ZXh0KQoKewoKY2hhciBjdXJyID0gdG9sb3dlcigqdGV4dCk7CgppZiAoJ9CwJyA8PSBwcmV2ICYmICfRjycgPj0gcHJldiAmJiAn0LAnIDw9IGN1cnIgJiYgJ9GPJyA+PSBjdXJyKQoKZGlncmFtW3ByZXYgLSAn0LAnXVtjdXJyIC0gJ9CwJ10rKzsKCnByZXYgPSBjdXJyOwoKdGV4dCsrOwoKfQoKfQoKdm9pZCBTYXZlRGlncmFtKGNoYXIgKmZpbGVuYW1lKQoKewoKc3RkOjpvZnN0cmVhbSBvZnM7CgpvZnMub3BlbihmaWxlbmFtZSwgc3RkOjpvZnN0cmVhbTo6b3V0KTsKCm9mcyA8PCAiICI7Cgpmb3IgKGludCBpID0gMDsgaSA8IG5fZGlnaXRzOyBpKyspCgpvZnMgPDwgKGNoYXIpKCfQsCcgKyBpKSA8PCAiICI7CgpvZnMgPDwgZW5kbDsKCmZvciAoaW50IGogPSAwOyBqIDwgbl9kaWdpdHM7IGorKykKCnsKCm9mcyA8PCAoY2hhcikoJ9CwJyArIGopIDw8ICIgIjsKCmZvciAoaW50IGkgPSAwOyBpIDwgbl9kaWdpdHM7IGkrKykKCnsKCm9mcy53aWR0aCgyKTsKCm9mcyA8PCBkaWdyYW1baV1bal0gPDwgIiAiOwoKfQoKb2ZzIDw8IGVuZGw7Cgp9CgpvZnMuY2xvc2UoKTsKCn0KCmNoYXIgKnJlYWxfdGV4dCA9Cgoi0KHQtdC7INCyINGD0LPQu9GDINC/0LXRgNC10LQg0L7QutC90L7QvCBcbiIKCiLQmCDQt9Cw0YHQvdGD0Lsg0YHQv9C+0LrQvtC50L3Ri9C8INGB0L3QvtC8Li4uXG4iCgoi4oCUINCt0YLQviDRh9GC0L4g0LfQsCDQv9C+0LvRg9GB0YLQsNC90L7Quj8g4oCUIFxuIgoKItCX0LDQutGA0LjRh9Cw0Lsg0L7QvSDRgdC/0L7Qt9Cw0YDQsNC90L7Qui4gXG4iCgoi0JAg0YEg0L/Qu9Cw0YLRhNC+0YDQvNGLINCz0L7QstC+0YDRj9GCOlxuIgoKIuKAlCDQrdGC0L4g0LPQvtGA0L7QtCDQm9C10L3QuNC90LPRgNCw0LQuXG4iCgoi0J7QvSDQvtC/0Y/RgtGMINC/0L7RgdC/0LDQuyDQvdC10LzQvdC+0LbQutC+IFxuIgoKItCYINC+0L/Rj9GC0Ywg0LLQt9Cz0LvRj9C90YPQuyDQsiDQvtC60L7RiNC60L4sIFxuIgoKItCj0LLQuNC00LDQuyDQsdC+0LvRjNGI0L7QuSDQstC+0LrQt9Cw0LssIFxuIgoKItCj0LTQuNCy0LjQu9GB0Y8g0Lgg0YHQutCw0LfQsNC7OlxuIgoKIuKAlCDQrdGC0L4g0YfRgtC+INC30LAg0L7RgdGC0LDQvdC+0LLQutCwIOKAlCBcbiIKCiLQkdC+0LvQvtCz0L7QtSDQuNC70Ywg0J/QvtC/0L7QstC60LA/IOKAlCBcbiIKCiLQkCDRgSDQv9C70LDRgtGE0L7RgNC80Ysg0LPQvtCy0L7RgNGP0YI6XG4iCgoi4oCUINCt0YLQviDQs9C+0YDQvtC0INCb0LXQvdC40L3Qs9GA0LDQtC5cbiIKCiLQntC9INC+0L/Rj9GC0Ywg0L/QvtGB0L/QsNC7INC90LXQvNC90L7QttC60L4gXG4iCgoi0Jgg0L7Qv9GP0YLRjCDQstC30LPQu9GP0L3Rg9C7INCyINC+0LrQvtGI0LrQviwgXG4iCgoi0KPQstC40LTQsNC7INCx0L7Qu9GM0YjQvtC5INCy0L7QutC30LDQuywgXG4iCgoi0J/QvtGC0Y/QvdGD0LvRgdGPINC4INGB0LrQsNC30LDQuzpcbiIKCiLigJQg0KfRgtC+INC30LAg0YHRgtCw0L3RhtC40Y8g0YLQsNC60LDRjyDigJQgXG4iCgoi0JTQuNCx0YPQvdGLINC40LvQuCDQr9C80YHQutCw0Y8/IOKAlCBcbiIKCiLQkCDRgSDQv9C70LDRgtGE0L7RgNC80Ysg0LPQvtCy0L7RgNGP0YI6XG4iCgoi4oCUINCt0YLQviDQs9C+0YDQvtC0INCb0LXQvdC40L3Qs9GA0LDQtC5cbiIKCiLQl9Cw0LrRgNC40YfQsNC7INC+0L06IOKAlCDQp9GC0L4g0LfQsCDRiNGD0YLQutC4IVxuIgoKItCV0LTRgyDRjyDQstGC0L7RgNGL0LUg0YHRg9GC0LrQuCxcbiIKCiLQkCDQv9GA0LjQtdGF0LDQuyDRjyDQvdCw0LfQsNC0LFxuIgoKItCQINC/0YDQuNC10YXQsNC7INCyINCb0LXQvdC40L3Qs9GA0LDQtCFcbiI7CgppbnQgbWFpbihpbnQgYXJnYywgX1RDSEFSKiBhcmd2W10pCgp7CgpzZXRsb2NhbGUoMCwgInJ1cyIpOwoKQ291bnREaWdyYW1zKHJlYWxfdGV4dCk7CgpTYXZlRGlncmFtKCJkaWdyYW0udHh0Iik7CgpyZXR1cm4gMDsKCn0=
Main.java:1: error: illegal character: '#'
#include "stdafx.h"
^
Main.java:1: error: class, interface, or enum expected
#include "stdafx.h"
^
Main.java:3: error: illegal character: '#'
#include "locale.h"
^
Main.java:5: error: illegal character: '#'
#include "stdlib.h"
^
Main.java:7: error: illegal character: '#'
#include <fstream>
^
Main.java:9: error: illegal character: '#'
#include <ctype.h>
^
Main.java:13: error: class, interface, or enum expected
int const n_digits = 32;
^
Main.java:15: error: class, interface, or enum expected
int digram[n_digits][n_digits];
^
Main.java:17: error: class, interface, or enum expected
void CountDigrams(char *text)
^
Main.java:23: error: class, interface, or enum expected
while (*text)
^
Main.java:29: error: class, interface, or enum expected
if ('?' <= prev && '?' >= prev && '?' <= curr && '?' >= curr)
^
Main.java:33: error: class, interface, or enum expected
prev = curr;
^
Main.java:35: error: class, interface, or enum expected
text++;
^
Main.java:37: error: class, interface, or enum expected
}
^
Main.java:47: error: class, interface, or enum expected
ofs.open(filename, std::ofstream::out);
^
Main.java:49: error: class, interface, or enum expected
ofs << " ";
^
Main.java:51: error: class, interface, or enum expected
for (int i = 0; i < n_digits; i++)
^
Main.java:51: error: class, interface, or enum expected
for (int i = 0; i < n_digits; i++)
^
Main.java:51: error: class, interface, or enum expected
for (int i = 0; i < n_digits; i++)
^
Main.java:55: error: class, interface, or enum expected
ofs << endl;
^
Main.java:57: error: class, interface, or enum expected
for (int j = 0; j < n_digits; j++)
^
Main.java:57: error: class, interface, or enum expected
for (int j = 0; j < n_digits; j++)
^
Main.java:57: error: class, interface, or enum expected
for (int j = 0; j < n_digits; j++)
^
Main.java:63: error: class, interface, or enum expected
for (int i = 0; i < n_digits; i++)
^
Main.java:63: error: class, interface, or enum expected
for (int i = 0; i < n_digits; i++)
^
Main.java:63: error: class, interface, or enum expected
for (int i = 0; i < n_digits; i++)
^
Main.java:69: error: class, interface, or enum expected
ofs << digram[i][j] << " ";
^
Main.java:71: error: class, interface, or enum expected
}
^
Main.java:75: error: class, interface, or enum expected
}
^
Main.java:79: error: class, interface, or enum expected
}
^
Main.java:135: error: class, interface, or enum expected
int main(int argc, _TCHAR* argv[])
^
Main.java:141: error: class, interface, or enum expected
CountDigrams(real_text);
^
Main.java:143: error: class, interface, or enum expected
SaveDigram("digram.txt");
^
Main.java:145: error: class, interface, or enum expected
return 0;
^
Main.java:147: error: class, interface, or enum expected
}
^
35 errors