Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.07 KB | None | 0 0
  1. #include<string>//Sebastian Ozga
  2.  
  3. using namespace std;
  4.  
  5. string FormatujNapis(string napis,string napis1, string napis2, string napis3){
  6. string nowezdanie="";
  7. int j=0;
  8. int i=0;
  9. int tablica[napis.size()];
  10. int n=napis.size();
  11.  
  12. for(i; i<napis.size(); i++){
  13. if(napis[i]!='{'){
  14. nowezdanie=nowezdanie+napis[i];
  15.  
  16. }
  17. else if(napis[i]=='{'){/////////////////////////p
  18.  
  19. if(napis[i+1]=='p'){
  20. int k;
  21. k=napis[i+3]-48;
  22.  
  23. for(int w=0; w<k; w++){
  24.  
  25. nowezdanie=nowezdanie+napis[i+5];
  26. }
  27.  
  28. i=i+6;
  29.  
  30.  
  31. }
  32. else if(napis[i+1]=='u'){////////////////////////u
  33. int k;
  34. k=napis[i+3]-48;
  35. while(napis[i]!='}'){
  36. i++;
  37. }
  38.  
  39. int t=i;
  40. for(i;i<(t+k);i++){
  41. }
  42.  
  43. }
  44. else if(napis[i+1]=='U'){///////////////////////////////////////////////////////U
  45. int k;
  46. int m;
  47. string wyraz="";
  48. k=napis[i+3]-48;
  49.  
  50. string najnowszeslowo = nowezdanie;
  51. nowezdanie = "";
  52. m=najnowszeslowo.size()-k;
  53. for (int x=0; x<m; x++){
  54. nowezdanie+=najnowszeslowo[x];
  55. }
  56. i=i+4;
  57.  
  58.  
  59. }
  60. else if(napis[i+1]=='w'){///////////////////////////////////////////////w
  61. int k;
  62. int s=0;
  63. k=napis[i+3]-48;
  64.  
  65. i=i+4;
  66. if(k==1){
  67. nowezdanie=nowezdanie+napis1;
  68.  
  69. }else if(k==2){
  70. nowezdanie=nowezdanie+napis2;
  71.  
  72. }else if(k==3){
  73. nowezdanie=nowezdanie+napis3;
  74. }
  75.  
  76. }
  77. else if(napis[i+1]=='W'){////////////////////////////////////////////////////////////////W
  78. int k;
  79. k=napis[i+3]-48;
  80. int q;
  81. int s=0;
  82. int d=0;
  83. int g=0;
  84. int f;
  85. q=napis[i+5]-48;
  86. string wyraz="";
  87.  
  88. /*for(int e=0; e<napis1.size(); e++){
  89. d++;
  90. }
  91. if(d>q){
  92. g=d-q;}
  93. else if(d<=q){
  94. g=q-d;}*/
  95. if(k==1){///////////////////////////////////////////////////
  96.  
  97. for(int e=0; e<napis1.size(); e++){
  98. d++;
  99. }
  100. if(d>q){
  101. g=d-q;}
  102. else if(d<=q){
  103. g=q-d;}
  104.  
  105. if(d<q){
  106. for(int w=0; w<d; w++){
  107. wyraz=wyraz+napis1[w];
  108. }
  109.  
  110. for( int c=0; c<g; c++){
  111. wyraz=wyraz+' ';
  112. }
  113. }
  114. else if(q<d){
  115. for(int w=0; w<q; w++){
  116. wyraz=wyraz+napis1[w];
  117. }
  118. }
  119. nowezdanie=nowezdanie+wyraz;
  120.  
  121. f=n+g;
  122. i=i+6;
  123.  
  124. }else if(k==2){////////////////////////////////////////////
  125.  
  126. for(int e=0; e<napis2.size(); e++){
  127. d++;
  128. }
  129. if(d>q){
  130. g=d-q;}
  131. else if(d<=q){
  132. g=q-d;}
  133.  
  134. if(d<q){
  135. for(int w=0; w<d; w++){
  136. wyraz=wyraz+napis2[w];
  137. }
  138.  
  139. for( int c=0; c<g; c++){
  140. wyraz=wyraz+' ';
  141. }
  142. }
  143. else if(q<d){
  144. for(int w=0; w<q; w++){
  145. wyraz=wyraz+napis2[w];
  146. }
  147. }
  148. nowezdanie=nowezdanie+wyraz;
  149.  
  150. f=n+g;
  151. i=i+6;
  152.  
  153.  
  154. }else if(k==3){/////////////////////////////////////////////////
  155.  
  156. for(int e=0; e<napis3.size(); e++){
  157. d++;
  158. }
  159. if(d>q){
  160. g=d-q;}
  161. else if(d<=q){
  162. g=q-d;}
  163.  
  164. if(d<q){
  165. for(int w=0; w<d; w++){
  166. wyraz=wyraz+napis3[w];
  167. }
  168.  
  169. for( int c=0; c<g; c++){
  170. wyraz=wyraz+' ';
  171. }
  172. }
  173. else if(q<d){
  174. for(int w=0; w<q; w++){
  175. wyraz=wyraz+napis3[w];
  176. }
  177. }
  178. nowezdanie=nowezdanie+wyraz;
  179.  
  180. f=n+g;
  181. i=i+6;
  182.  
  183.  
  184. }
  185.  
  186. }
  187. }
  188. }
  189.  
  190. return nowezdanie;
  191. }
  192. ////////////////////////////////////////////////////////////////////
  193.  
  194.  
  195.  
  196. ///////////////////////////////////////////////////////////////////////
  197. string NormalizujNapis(string napis){
  198. string nowezdanie1="";
  199. string nowezdanie="";
  200. int k=0;
  201. int i=0;
  202. for(int j=0; j<napis.size();j++){
  203. if(napis[i]==' '){
  204. i++;
  205. }else {
  206. break;}
  207. }
  208. for(i; i<napis.size(); i++){
  209.  
  210. if(napis[i]!=' '){/////przepisywanie tekstu
  211. nowezdanie1=nowezdanie1+napis[i];
  212. k++;
  213. }
  214. else if(napis[i]==' '&&napis[i+1]!=' '&&napis[i+1]!=','&&napis[i+1]!='.'&&nowezdanie1[k-1]!=' '&&nowezdanie1[k-1]!='.'&&nowezdanie1[k-1]!=','){////////przerwy miedzy wyrazami
  215. nowezdanie1=nowezdanie1+napis[i];
  216. k++;
  217. }
  218. }
  219.  
  220. for(int j=0; j<k; j++){
  221.  
  222. if(nowezdanie1[j]!='.'&&nowezdanie1[j]!=','){
  223. nowezdanie=nowezdanie+nowezdanie1[j];
  224. }
  225. else if(nowezdanie1[j]=='.'){
  226. nowezdanie=nowezdanie+nowezdanie1[j]+' ';
  227. }else if(nowezdanie1[j]==','){
  228. nowezdanie=nowezdanie+nowezdanie1[j]+' ';
  229. }
  230. }
  231. if(nowezdanie[nowezdanie.size()-1==' ']){
  232.  
  233. nowezdanie.resize(nowezdanie.size()-1);}
  234.  
  235.  
  236. return nowezdanie;
  237. }
  238. /////////////////////////////////////////////////////////////////////
  239.  
  240.  
  241.  
  242. /////////////////////////////////////////////////////////////////////
  243. string UsunSlowo(string napis, int n){
  244. string noweslowo="";
  245. string nowezdanie="";
  246. int p=1;//zliczanie spacji
  247. int m=0; //pozycja w zdaniu do usuniecia
  248. int i;
  249. int spacja=0;
  250.  
  251.  
  252. for(int s=0;s<napis.size();s++){
  253. if(napis[s]==' '){
  254. spacja++;
  255. }
  256. }
  257. for(int g=0; g<napis.size();g++){
  258. if(napis[g]!=' '){
  259. break;
  260. }
  261. if(napis[g]==' '){
  262. m++;
  263. }}
  264.  
  265. if(spacja+1<n){
  266. return napis;
  267. }else{
  268. while(p<n){
  269. i=m;
  270. for(i; i<napis.size(); i++){
  271. if(napis[i]!=' '){
  272. nowezdanie=nowezdanie+napis[i];
  273. m++;
  274. }else if(napis[i]==' '){
  275. if(napis[i]==' '&&napis[i+1]==' '){
  276. m++;
  277. nowezdanie=nowezdanie+napis[i];
  278. }else if(napis[i]==' '&&napis[i+1]!=' '){
  279. m++;
  280. p++;
  281. break;
  282. }
  283. }
  284. }}
  285. int j=m+1;
  286. for(int i=0; i<napis.size(); i++){
  287. if(i==m){
  288. while(napis[j]!=' '){
  289. j++;
  290. i++;
  291. }
  292. }else{
  293. noweslowo=noweslowo+napis[i];
  294. }
  295. }
  296.  
  297. return noweslowo;
  298. }}
  299. /////////////////////////////////////////////////////////////////////
  300.  
  301.  
  302.  
  303. //////////////////////////////////////////////////////////////////////
  304. string NajwiekszeSlowo(string napis){
  305. string slowo1="";
  306. string slowo2="";
  307. int l=napis.size();
  308. int k=0;
  309. int n=0;
  310. for(int m=0; m<napis.size(); m++){
  311. if(napis[m]==' '){
  312. n++;
  313. }
  314. }
  315. if(n==0){
  316. slowo1=napis;
  317. return slowo1;
  318. }else{
  319. for(int j=0; j<napis.size();j++){
  320. if(napis[j]!=' '){
  321. slowo1=slowo1+napis[j];
  322. k++;
  323. }else if(napis[j]==' '){
  324. break;
  325. }
  326. }
  327. int i=k;
  328. do{
  329. for(i; i<napis.size(); i++){
  330. if(napis[i]==' '){
  331. if(slowo2>slowo1){
  332. slowo1=slowo2;
  333. }
  334. slowo2="";
  335.  
  336. }else if(napis[i]!=' '){
  337. slowo2=slowo2+napis[i];
  338.  
  339.  
  340. }
  341.  
  342. }
  343. }while(k==l);
  344. if(slowo1>slowo2){
  345. return slowo1;
  346. }else{
  347. return slowo2;
  348. }
  349.  
  350. }
  351. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement