Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- float F(float x)
- {
- return x*x*x;
- }
- void g(float a, float b, float k, float * T, float (*func)(float liczba))
- {
- int i;
- float x;
- for(x = a, i=0; x <= b; x+=k, i++)
- T[i] = func(x);
- }
- void func(int * tab, int n, int * _unikalne, int ** _wystapieniaT, int ** _unikalneT)
- {
- int * unikalne = malloc(sizeof(int) * n);
- int * wystapienia = malloc(sizeof(int) * n);
- int i, j, k;
- int iloscUnikalnych = 0;
- int czyUnikalna = 0;
- for(i = 0; i<n; i++)
- {
- czyUnikalna = 1;
- for(j = 0; j<iloscUnikalnych; j++)
- if (unikalne[j] == tab[i])
- czyUnikalna = 0;
- if (czyUnikalna == 1)
- {
- unikalne[j] = tab[i];
- int iloscWystapien = 0;
- for(k = 0; k<n; k++)
- if (tab[k] == unikalne[j])
- iloscWystapien++;
- wystapienia[j] = iloscWystapien;
- iloscUnikalnych++;
- }
- }
- unikalne = realloc(unikalne, sizeof(int) * iloscUnikalnych);
- wystapienia = realloc(wystapienia, sizeof(int) * iloscUnikalnych);
- *_unikalne = iloscUnikalnych;
- *_unikalneT = unikalne;
- *_wystapieniaT = wystapienia;
- }
- int main()
- {
- int * table;
- int n;
- printf("Podaj rozmiar: ");
- scanf("%d", &n);
- table = malloc(sizeof(int) * n);
- int i;
- int val;
- for(i = 0; i<n; i++)
- {
- scanf("%d", &val);
- table[i] = val;
- }
- int * unikalne;
- int * wystapienia;
- func(table, n, &n, &wystapienia, &unikalne);
- for(i = 0; i<n; i++)
- printf("%d wystepuje %d razy\n", unikalne[i], wystapienia[i]);
- }
- /*
- int main()
- {
- float x,y,z;
- printf("Podaj od ilu: ");
- scanf("%f", &x);
- printf("Podaj do ilu: ");
- scanf("%f", &y);
- printf("Podaj krok: ");
- scanf("%f", &z);
- int ileWyrazow = (y-x + 1)*(1/z);
- float * tab = malloc(sizeof(float) * ileWyrazow);
- printf("Wyrazy: %d\n", ileWyrazow);
- g(x,y,z, tab, F);
- int j;
- float i;
- for(j = 0, i = x; i <= y; i+=z, j++)
- printf("%f - %f\n", i, tab[j]);
- system("PAUSE");
- return 0;
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment