Guest User

Untitled

a guest
Nov 20th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. int main()
  2. {
  3. system("chcp 1251>nul");
  4.  
  5. //сам текст
  6. //char txt[] = "I can never be satisfied with anyone who would be blockhead enough to have me.";
  7. int size = 80;
  8. char* txt = new char[size];
  9. cout << "Введите текст:n" ;
  10. cin.get(txt, 80);
  11.  
  12. //количество символов
  13. int s = strlen(txt);
  14. cout << "Количество символов в тексте: " << s << endl;
  15.  
  16. //счетчик слов
  17. int count=0;
  18. int slov = 0, i = 0, k = 0, j = 0;
  19.  
  20. while (txt[i] != '')
  21. {
  22. if (txt[i] != ' ' && slov == 0)
  23. {
  24. slov = 1;
  25. count++;
  26. }
  27. else if (txt[i] == ' ')
  28. {
  29. slov = 0;
  30. }
  31. i++;
  32. }
  33.  
  34. slov = count;
  35. cout << "Количество слов в строке: " << count << endl;
  36.  
  37. //создаем двумерный динамический массив
  38. //строки количество слов
  39. //столбцы - количество символов в слове
  40. int** A = new int*[count];
  41. for (i = 0; i < count ; i++)
  42. {
  43. A[i] = new int[s];
  44. for (j = 0; j < s; j++)
  45. {
  46. A[i][j] = txt[k];
  47. k++;
  48. //если значение отрицательное,то уменьшаем количество строк
  49. //чтобы ничего лишнего не выводилось на экран
  50. if (A[i][j] < 0)
  51. {
  52. count--;
  53. break;
  54. }
  55. //если в тесте пробел или точка или строка закончилась,то заканчиваем заполнять строку
  56. // и увеличиваем количество строк
  57. if (A[i][j] == ' ' || A[i][j] == '' || A[i][j] == 46)
  58. {
  59. count++;
  60. break;
  61. }
  62.  
  63. cout << char(A[i][j]);
  64. }
  65. cout << endl;
  66. }
  67.  
  68. system("pause>nul");
  69. return 0;
  70. }
  71.  
  72. i love you.
  73.  
  74. i
  75. love
  76. you
  77.  
  78. i
  79.  
  80.  
  81.  
  82. love
  83.  
  84.  
  85.  
  86. you
  87.  
  88. bool isEnded = false;
  89. int** A = new int*[count];
  90. for (i = 0; i < count; i++)
  91. {
  92. A[i] = new int[s];
  93. for (j = 0; j < s; j++)
  94. {
  95. A[i][j] = txt[k];
  96. k++;
  97. //если значение отрицательное,то уменьшаем количество строк
  98. //чтобы ничего лишнего не выводилось на экран
  99. if (A[i][j] < 0)
  100. {
  101. count--;
  102. break;
  103. }
  104. //если в тесте пробел или точка или строка закончилась,то заканчиваем заполнять строку
  105. // и увеличиваем количество строк
  106. if (A[i][j] == ' ' || A[i][j] == '' || A[i][j] == 46)
  107. {
  108. count++;
  109. if (!isEnded)
  110. {
  111. cout << endl;
  112. isEnded = true;
  113. }
  114. break;
  115. }
  116. else isEnded = false;
  117. cout << char(A[i][j]);
  118. }
  119.  
  120. }
Add Comment
Please, Sign In to add comment