Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.47 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. int dlugoscnowegozdania = 0;
  232. dlugoscnowegozdania = nowezdanie.size();
  233. if(nowezdanie[dlugoscnowegozdania-1]==' '){
  234. nowezdanie.resize(dlugoscnowegozdania-1);
  235. }
  236.  
  237.  
  238. return nowezdanie;
  239. }
  240. /////////////////////////////////////////////////////////////////////
  241.  
  242.  
  243.  
  244. /////////////////////////////////////////////////////////////////////
  245. string UsunSlowo(string napis, int n){
  246. string noweslowo="";
  247. string nowezdanie="";
  248. int p=1;//zliczanie spacji
  249. int m=0; //pozycja w zdaniu do usuniecia
  250. int i;
  251. int spacja=0;
  252. int liczbawyrazow=1;
  253.  
  254. for( int z=0; z< napis.size(); z++){
  255. if(napis[z]!=' '&&(napis[z+1]==' '||napis[z+1]=='/0')){
  256. liczbawyrazow++;
  257. }}
  258. if(liczbawyrazow<n){
  259. return napis;
  260. }else{
  261.  
  262.  
  263. for(int s=0;s<napis.size();s++){
  264. if(napis[s]==' '){
  265. spacja++;
  266. }
  267. }
  268. liczbawyrazow=liczbawyrazow+spacja;
  269. if(liczbawyrazow<n){
  270. return napis;
  271. }else {
  272. for(int g=0; g<napis.size();g++){
  273. if(napis[g]!=' '){
  274. break;
  275. }
  276. if(napis[g]==' '){
  277. m++;
  278. }}
  279.  
  280. if(spacja+1<n){
  281. return napis;
  282. }else{
  283. while(p<n){
  284. i=m;
  285. for(i; i<napis.size(); i++){
  286. if(napis[i]!=' '){
  287. nowezdanie=nowezdanie+napis[i];
  288. m++;
  289. }else if(napis[i]==' '){
  290. if(napis[i]==' '&&napis[i+1]==' '){
  291. m++;
  292. nowezdanie=nowezdanie+napis[i];
  293. }else if(napis[i]==' '&&napis[i+1]!=' '){
  294. m++;
  295. p++;
  296. break;
  297. }
  298. }
  299. }}
  300. int j=m+1;
  301. for(int i=0; i<napis.size(); i++){
  302. if(i==m){
  303. while(napis[j]!=' '){
  304. j++;
  305. i++;
  306. }
  307. }else{
  308. noweslowo=noweslowo+napis[i];
  309. }
  310. }
  311.  
  312. return noweslowo;
  313. }}}}
  314. /////////////////////////////////////////////////////////////////////
  315.  
  316.  
  317.  
  318. //////////////////////////////////////////////////////////////////////
  319. string NajwiekszeSlowo(string napis){
  320. string slowo1="";
  321. string slowo2="";
  322. int l=napis.size();
  323. int k=0;
  324. int n=0;
  325. for(int m=0; m<napis.size(); m++){
  326. if(napis[m]==' '){
  327. n++;
  328. }
  329. }
  330. if(n==0){
  331. slowo1=napis;
  332. return slowo1;
  333. }else{
  334. for(int j=0; j<napis.size();j++){
  335. if(napis[j]!=' '){
  336. slowo1=slowo1+napis[j];
  337. k++;
  338. }else if(napis[j]==' '){
  339. break;
  340. }
  341. }
  342. int i=k;
  343. do{
  344. for(i; i<napis.size(); i++){
  345. if(napis[i]==' '){
  346. if(slowo2>slowo1){
  347. slowo1=slowo2;
  348. }
  349. slowo2="";
  350.  
  351. }else if(napis[i]!=' '){
  352. slowo2=slowo2+napis[i];
  353.  
  354.  
  355. }
  356.  
  357. }
  358. }while(k==l);
  359. if(slowo1>slowo2){
  360. return slowo1;
  361. }else{
  362. return slowo2;
  363. }
  364.  
  365. }
  366. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement