Guest User

Untitled

a guest
Oct 19th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1. int ProvRazm();
  2. int Vivodnaekran();
  3. int SamKorotkSlov();
  4.  
  5. int main()
  6. {
  7. setlocale(0, "rus");
  8. string buf;
  9. ifstream file("text.DAT"); /* Открываем файл */
  10. if (!file.is_open()) { /* Проверяем файл */
  11. cerr << "Файла нет. Проверьте имя файла или его наличие!" << endl;
  12. getchar();
  13. return 1;
  14. }
  15. ProvRazm();
  16. Vivodnaekran();
  17. SamKorotkSlov();
  18. system("pause");
  19. return 0;
  20. }
  21.  
  22. int ProvRazm()
  23. {
  24. FILE *in = fopen("text.DAT", "r"); // открытие потока
  25. // с параметром "только для чтения"
  26. int sum = 0;
  27. char buf[72];
  28. while (!feof(in)) // проверка размеров текста
  29. {
  30. fgets(buf, 72, in); // ф-ция коп. одной строки из файла
  31. if (strlen(buf) > 70) // проверка длины строки
  32. {
  33. cout << "Размер строк слишком велик(не больше 70).n";
  34.  
  35. }
  36. sum += strlen(buf); // ф-ция подсчета кол-ва символов в строке
  37. }
  38. if (sum > 1000) {
  39. cout << "Большое колличество символов (не больше 1000).n";
  40.  
  41. }
  42. fclose(in); // закрытие потока
  43. getchar();
  44. return sum; // возвращение кол-ва символов в файле
  45. }
  46.  
  47.  
  48. int Vivodnaekran()
  49. {
  50. string buf;
  51. ifstream file("text.DAT");
  52. cout << "Содержимое файла:" << endl;
  53. while (getline(file, buf)) {
  54. cout << buf << endl;
  55. }
  56. return 1;
  57. }
  58.  
  59. int SamKorotkSlov()
  60. {
  61. char str[1000];
  62. // curlen - текущая длина слова
  63. // maxlen - максимальная длина слова
  64. // index - индекс, соответствующий позиции
  65. // конца самого длинного слова +1
  66. int curlen = 0, maxlen = 0, index = 0, i;
  67. ifstream file("text.DAT");
  68. for (i = 0;; i++) {
  69. if (str[i] == ' ' || str[i] == '') {
  70. if (curlen > maxlen) {
  71. maxlen = curlen;
  72. index = i;
  73. }
  74. // если конец строки -> выйти из цикла
  75. if (str[i] == '')
  76. break;
  77. curlen = 0;
  78. } else
  79. curlen++;
  80. }
  81. cout << "" << maxlen << endl;
  82. getchar();
  83. }
  84.  
  85. #include <iostream>
  86. #include <fstream>
  87. #include <string>
  88. #include <limits>
  89.  
  90. using namespace std;
  91.  
  92. int main()
  93. {
  94. setlocale(0, "rus");
  95. string buf;
  96. ifstream file("text.DAT"); /*Открываем файл*/
  97. if(!file.is_open()) /*Проверяем файл*/
  98. {
  99. cerr<<"Файла нету!!проверь имя файла!или его наличие!"<<endl;
  100. system("pause");
  101. return 1;
  102. }
  103. unsigned int min = INT_MAX;
  104. string wordMinLength;
  105. while(file >> buf)
  106. {
  107. if (buf.length() < min)
  108. {
  109. wordMinLength = buf;
  110. min = buf.length();
  111. }
  112. }
  113. file.close();
  114. cout << min << " " << wordMinLength;
  115. system("pause");
  116. return 0;
  117.  
  118. }
  119.  
  120. unsigned int min = INT_MAX;
  121. if (buf.length() < min)
  122.  
  123. unsigned int min = 0;
  124. if (buf.length() > min)
  125.  
  126. HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
  127.  
  128. ...
  129.  
  130. while (file >> buf)
  131. {
  132. ...
  133. if (buf.length() == min) // Здесь еще можно проверять слово ли это, или знак препинания или служебный символ
  134. {
  135. SetConsoleTextAttribute(hConsole, 12); // Устанавливаем красный
  136. }
  137. cout << buf; // Выводим слово
  138. SetConsoleTextAttribute(hConsole, 7); // Возвращаем белый
  139. ...
  140. }
Add Comment
Please, Sign In to add comment