Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Auhtor: Dawid Mocek
- Zadanie 5
- Proszę napisać funkcję, która tworzy tablicę jednowymiarową o rozmiarze zdefiniowanym przez parametr funkcji i wypełnia ją losowymi wartościami.
- Zadanie 6
- Proszę napisać funkcję, która tworzy tablicę jednowymiarową o rozmiarze zdefiniowanym przez parametr funkcji i wypełnia ją losowymi literami.
- Zadanie 7
- Proszę napisać funkcję, która jako parametry dostaje dwie tablice, a w wyniku działania zwraca nową tablicę, która w kolejnych polach zawiera sumę elementów z danych pól tablic podanych na wejście.
- Zadanie 8
- Napisz funkcję, która jako parametry wejściowe dostaje dwie tablicę. Wynikiem działania funkcji jest tablica wyjściowa, która jest sklejeniem pierwszej tablicy z drugą.*/
- #include "stdio.h"
- #include "stdlib.h"
- #include "string.h"
- void createArray(int * tab, int size)
- {
- *tab = tab[size];
- for(int c = 0; c < size; c++) {
- tab[c] = (int)rand();
- }
- }
- void printArray(int * tab, int size)
- {
- }
- struct person
- {
- char name[255];
- char surname[255];
- unsigned int number;
- }osoba;
- int rnd(int min, int max)
- {
- int tmp;
- if (max>=min)
- max-= min;
- else
- {
- tmp= min - max;
- min= max;
- max= tmp;
- }
- return max ? (rand() % max + min) : min;
- }
- int compare_values (const void *a, const void *b) {
- const int *int_a = (const int *) a;
- const int *int_b = (const int *) b;
- return (*int_a - *int_b);
- }
- void sort(int tab[], int size)
- {
- int i, j, temp;
- for (i = 0; i<size; i++)
- {
- for (j=0; j<size-1-i; j++)
- {
- if (tab[j] > tab[j+1])
- {
- temp = tab[j+1];
- tab[j+1] = tab[j];
- tab[j] = temp;
- }
- }
- }
- }
- int main()
- {
- /*
- Zaalokuj tablicę dynamiczną typu int (nazwa tabA) wypełnij losowymi wartościami,
- stwórz dynamiczną tablicę wskaźników (nazwa tabB) ustaw wskaźniki w tabB w taki sposób,
- aby koleno wskazywane elementy przez tabB były posortowaną wersją tabA
- */
- int c = 0;
- int size = 10;
- int *tabA;
- int **tabB;
- tabA = (int*)malloc(size * sizeof(int));
- tabB = (int**)malloc(size * sizeof(int *));
- // wypełniamy tablice
- for( c = 0; c < size; c++)
- {
- tabA[c] = rnd(1,100);
- }
- // kopiowanie tablicy
- for(c = 0; c < size; c++)
- {
- tabB[c] = &tabA[c];
- }
- //sorotwanie
- qsort(*tabB, size, sizeof(int *), compare_values);
- for(c = 0; c < size; c++ )
- {
- printf("%d\n", *tabB[c]);
- }
- getchar();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement