Advertisement
Crackbone

dv7z2

May 2nd, 2021
848
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.29 KB | None | 0 0
  1. /*Napisati funkciju koja između dva niza umetne treći čiju duljinu i vrijednosti unosi
  2. korisnik (van funkcije za spajanje nizova). Funkcija vraća novonastali niz (i njegovu
  3. duljinu). Za alokaciju novonastalog niza koristiti dinamičku alokaciju.*/
  4.  
  5. //Funkcija u C u ne moze vracat 2 stvari
  6. #define _CRT_SECURE_NO_WARNINGS
  7.  
  8. #define Size 5
  9.  
  10. #include<stdio.h>
  11. #include<stdlib.h>
  12.  
  13. int* funkcija(int[], int[],  int*);
  14.  
  15. int main()
  16. {
  17.     int Niz_1[Size] = { 1,2,3,4,5 };
  18.     int Niz_2[Size] = { 9,10,11,12 };
  19.     int n;
  20.     int* Ptr = NULL;
  21.  
  22.     Ptr=funkcija(Niz_1, Niz_2, &n);
  23.  
  24.     int i = 0;
  25.     while (i < n + Size + Size)
  26.     {
  27.         printf("%d  ", Ptr[i]);
  28.         i++;
  29.     }
  30.     getchar();
  31.     getchar();
  32.     return 1;
  33. }
  34.  
  35. //Fukcija prima, Adresu niza 1, adresu niza 2, adresu na kojoj ce napravit novi niz, i pointer od varijable za velicinu
  36. int* funkcija(int A[], int B[], int* N)
  37. {
  38.     int* Niz = NULL;
  39.     int n;
  40.     printf("Koliko elemenata zelis dodati u niz:\n");
  41.     scanf(" %d", &n);
  42.     *N = n;
  43.     Niz = (int*)malloc(sizeof(int)*(n+Size+Size));
  44.     int i = 0;
  45.     while (i < Size)
  46.     {
  47.         Niz[i] = A[i];
  48.         i++;
  49.     }
  50.  
  51.     while (i < (Size + n))
  52.     {
  53.         printf("\n Unesi %d broj niza:", i - Size+1);
  54.         scanf(" %d", &Niz[i]);
  55.         i++;
  56.     }
  57.  
  58.     while (i < (n + Size + Size))
  59.     {
  60.         Niz[i] = B[i - Size - n];
  61.         i++;
  62.     }
  63.    
  64.    
  65.     return &Niz[0];
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement