Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <stdlib.h>
- #include <time.h>
- #define N 3401
- #define M 128
- using namespace std;
- int main()
- {
- setlocale(LC_ALL, "rus");
- FILE * fin = fopen ("base.txt", "r");
- srand(time(NULL));
- char base[N][M], str[M];
- int i = 0, ns = 0, nw = 0, r = 0, j = 0, k = 0, l = 0, n = N;
- bool rhyme = false;
- while (!feof (fin) && i < N) {
- fgets (base[i], 128, fin);
- i++;
- }
- cout << base[1];
- puts ("Enter number of strings of poem: ");
- cin >> ns;
- puts ("Enter number of words of string: ");
- cin >> nw;
- for (i = 0; i < ns; i++) {
- if (i != 0)
- cout << endl;
- for (j = 0; j < nw; j++) {
- r = rand() % N;
- if (j == (nw - 1) && i % 2 == 1) {
- l = strlen (base[r]);
- for (k = 0; k < 3; k++) {
- if (str[k] == base[r][l - 3 + k])
- k++;
- else
- break;
- }
- if (k == 3)
- rhyme = true;
- }
- if (j == nw - 1 && i % 2 == 0) {
- l = strlen (base[r]);
- for (k = 0; k < 3; k++)
- str[k] = base[r][l - 3 + k];
- str[k] = '\0';
- }
- if (j < nw - 1) {
- cout << base[r] << " ";
- n--;
- while (r < n){
- strcpy (base[r], base[r + 1]);
- r++;
- }
- j++;
- }
- else if (rhyme || i % 2 == 0) {
- cout << base[r] << " ";
- n--;
- while (r < n){
- strcpy (base[r], base[r + 1]);
- r++;
- }
- j++;
- }
- }
- i++;
- rhyme = false;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement