Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <cstdio>
- #include <ctime>
- #include <stdio.h>
- using namespace std;
- struct Struktura
- {
- int i;
- char c;
- float f;
- };
- Struktura** losowanie(int N)
- {
- struct Struktura** tab = (struct Struktura**) malloc(N * sizeof(struct Struktura*));
- for (int i = 0; i < N; i++)
- {
- tab[i] = (struct Struktura*) malloc(sizeof(struct Struktura));
- tab[i]->c = rand() % ('S' - 'B' + 1) + 'B';
- tab[i]->f = 1000 + i;
- tab[i]->i = (rand() % 10001)-1000;
- }
- /*
- for (int j = 0; j < N; j++)
- {
- for (int k = 0; k < N - 1; k++)
- {
- while (k + j != N)
- {
- if (tab[k + j]->f = tab[k+1]->f)
- tab[k]->f = (rand() % 8);
- }
- }
- }
- */
- return tab;
- };
- void sortowanie(int N, Struktura **tab)
- {
- int x = 0;
- for (int j = 0; j < N; j++)
- {
- x = 0;
- for (int i = 0; i < N - 1 - j; i++)
- {
- if (tab[i]->i > tab[i + 1]->i)
- {
- Struktura* tmp = tab[i];
- tab[i] = tab[i + 1];
- tab[i + 1] = tmp;
- x = 1;
- }
- }
- if (x != 1)
- {
- break;
- }
- }
- };
- int zliczanie(int N, Struktura * *tab, char c)
- {
- int kek = 0;
- for (int i = 0; i < N; i++)
- {
- if (tab[i]->c == c)
- kek = kek + 1;
- }
- return kek;
- };
- void kasing(int N, Struktura **tab)
- {
- for (int i = 0; i < N; i++)
- {
- free(tab[i]);
- }
- free(tab);
- };
- int main()
- {
- srand(time(NULL));
- FILE* fp;
- fp = new FILE;
- int N;
- char X;
- fopen_s(&fp,"inlab01.txt", "r");
- if (fp == NULL)
- return -1;
- fscanf_s(fp, "%d %c", &N, &X, &fp);
- fclose(fp);
- clock_t begin, end;
- double time_spent;
- begin = clock();
- Struktura **xd = losowanie(N);
- sortowanie(N, xd);
- int ilosc = zliczanie(N, xd, X);
- for (int i = 0; i < 20; i++)
- {
- cout << "C: " << xd[i]->c << endl;
- cout << "I: " << xd[i]->i << endl;
- cout << "F: " << xd[i]->f << endl;
- }
- kasing(N, xd);
- end = clock();
- time_spent = (double)(end - begin) / CLOCKS_PER_SEC;
- cout << "Ilosc znakow: " << ilosc<<endl;
- cout << "Czas wykonania: " << time_spent;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement