Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- char* ladny_tekst()
- {
- char znak;
- int ilosc_znakow = 0;
- int i;
- FILE* plik = fopen("text2.txt", "r");
- if (plik == NULL)
- {
- fprintf(stderr, "Nie da sie otworzyc pliku.\n\n");
- exit(1);
- }
- while ((znak = getc(plik)) != EOF)
- ilosc_znakow++;
- rewind(plik);
- char* pom = (char*)malloc((ilosc_znakow) * sizeof(char)+1);
- i = 0;
- while ((znak = getc(plik)) != EOF)
- {
- pom[i] = znak;
- i++;
- }
- pom[i] = 0;
- char* text = (char*)malloc((ilosc_znakow) * sizeof(char));
- i = 0;
- int j = 0;
- while(pom[i] != NULL)
- {
- if(pom[i] == '\n' && pom[i+1] == ' ')
- {
- i++;
- continue;
- }
- else if (pom[i] == '\n' && pom[i+1] != ' ')
- {
- text[j] = ' ';
- j++;
- i++;
- }
- else if(pom[i] != ' ')
- {
- text[j] = pom[i];
- i++;
- j++;
- }
- else if(pom[i] == ' ' && pom[i+1] != ' ')
- {
- text[j] = pom[i];
- i++;
- j++;
- }
- else
- i++;
- }
- text[j] = 0;
- fclose(plik);
- return text;
- }
- int* dlugosci_slow(int szerokosc, char* tab)
- {
- int ilosc_slow = 0 ;
- int i = 0;
- int max = 0;
- while(tab[i] != NULL)
- {
- if(tab[i] == ' ')
- ilosc_slow++;
- i++;
- }
- int *tab_pom = (int*)malloc(ilosc_slow * sizeof(int));
- i = 0;
- int j = 0;
- while(tab[i] != NULL)
- {
- if(tab[i] != ' ')
- max++;
- else
- {
- tab_pom[j] = max;
- j++;
- max = 0;
- }
- i++;
- }
- max = 0;
- for(i = 0; i < ilosc_slow; i++)
- if(tab_pom[i] > max)
- max = tab_pom[i];
- if(max > szerokosc)
- {
- printf("najdluzsze slowo ma %d znakow\n", max);
- printf("wiec podana szerokosc nie zmiesci najdluzszego slowa");
- exit(2);
- }
- return tab_pom;
- }
- void wyrownanie_do_prawej(char* text, int* dlugosci_wyrazow, int szerokosc)
- {
- int i = 0;
- printf("%s\n\n\n", text);
- for(i = 1; i <= szerokosc; i++)
- {
- printf("%d",i % 10);
- }
- printf("\n");
- i = 0;
- int j = 0;
- int z = 0;
- int c = 0;
- float ilosc_spacji = 0;
- int text_w_linijce = 0;
- int ilosc_wyrazow = 0;
- while(text_w_linijce <= szerokosc)
- {
- if(text[j] == NULL)
- break;
- text_w_linijce += dlugosci_wyrazow[i];
- i++;
- ilosc_wyrazow++;
- if(text_w_linijce >= szerokosc)
- {
- while(text_w_linijce > szerokosc)
- {
- i--;
- ilosc_wyrazow--;
- text_w_linijce -= dlugosci_wyrazow[i];
- }
- ilosc_spacji = (szerokosc-text_w_linijce)/ilosc_wyrazow;
- while(ilosc_spacji-int(ilosc_spacji) != 0)
- {
- i--;
- ilosc_wyrazow--;
- text_w_linijce -= dlugosci_wyrazow[i];
- ilosc_spacji = (szerokosc-text_w_linijce)/ilosc_wyrazow;
- }
- ilosc_wyrazow = 0;
- text_w_linijce = 0;
- while(1)
- {
- if(text[j] != ' ')
- {
- printf("%c", text[j]);
- j++;
- z++;
- }
- if(z == szerokosc)
- {
- z = 0;
- printf("\n");
- break;
- }
- if(text[j] == ' ')
- {
- for(c = 0; c < ilosc_spacji; c++)
- {
- printf(" ");
- z++;
- }
- j++;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement