Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct punkt
- {
- int x;
- int y
- struct punkt *next;
- };
- int tabtab; //zmienna globalna do przekazania rozmiaru tablicy do maina
- struct punkt *sort(struct punkt *temp,int rozmiar)
- {
- int i, a=0, b=0, licznik=0,c=0, k=0;
- for(i=0; i<rozmiar; i++) //liczenie pola
- {
- a = temp[i].a*temp[i].b;
- b = b + a;
- }
- c = b/rozmiar; //srednie pole
- for(i=0; i<rozmiar; i++) //zliczanie ilosci elementow tablicy spelniajacych warunek
- {
- a = temp[i].a*temp[i].b;
- if(a>c)
- {
- licznik++;
- }
- }
- struct punkt *nowatablica = (struct punkt*)malloc(licznik*sizeof(struct punkt)); //utworzenie nowej tablicy
- for(i=0; i<rozmiar; i++) //wypelnienie nowej tablicy
- {
- a = temp[i].a*temp[i].b;
- if(a>c)
- {
- nowatablica[k].a = temp[i].a;
- nowatablica[k].b = temp[i].b;
- k++
- }
- }
- tabtab = k; //przypisanie wartosci do zmiennej globalenj
- return nowatablica; //zwrocenie nowej tablicy do maina
- }
- ________________________________________________________________________________________________________________________________
- struct punkt
- {
- float x;
- float y
- struct punkt *next;
- };
- struct punkt *sort(struct punkt *head1)
- {
- struct punkt *head = head1; //przekazanie adresu do talblicy an ktorej pracujemy
- int a = 0, b = 0;
- float c;
- while(head->next != NULL) //obliczanie sumy wszystkich pol
- {
- a = head->next->x * head->next->y;
- b = b + a;
- licznik++;
- head = head->next;
- }
- c = b/licznik; //srednia pol
- head = head1; //przywrocenie adresu heada
- struct punkt *temp = (struct punkt*)malloc(sizeof(struct punkt)); //utworzenie nowej tablicy z polami ktore spelniaja warunek z ifa
- temp->next = NULL;
- while(head->next != NULL) //przypisanie do nowej tablicy pol spelniajacych warunek
- {
- a = head->next->x * head->next->y;
- if(a>c)
- {
- struct punkt *element = (struct punkt*)malloc(sizeof(struct punkt)); //element stworzoyn do przechowania pola spelniajacego warunek
- element->x = head->next->x;
- element->y = head->next->y;
- element->next = NULL;
- if(temp->next!=NULL) //przypisanie elementow do nowej tablicy *temp
- {
- element->next = temp->next;
- temp->next = element;
- }
- else
- {
- temp->next = element;
- }
- }
- head = head->nex;
- }
- return temp; //zwrocenie tablicy do maina
- }
- ________________________________________________________________________________________________________________________________
- // kod kamila na pliki, czy "while(bufor[0]!=EOF)" jest poprawny?
- void zapis_do_plikow (char *sciezka)
- {
- FILE *plik;
- FILE *plik_male_litery;
- FILE *plik_duze_litery;
- plik=fopen;
- plik_male_litery=fopen;
- plik_duze_litery=fopen;
- char bufor[61];
- while(bufor[0]!=EOF)
- {
- fgets(bufor, 61, (FILE *)plik);
- if(bufor[0]>'a' && bufor[0]<'z'){
- fprintf(plik_male_litery, bufor);
- }
- if(bufor[0]>'A' && bufor[0]<'Z'){
- fprintf(plik_duze_litery, bufor);
- }
- }
- fclose(plik);
- fclose(plik_duze_litery);
- fclose(plik_male_litery);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement