Advertisement
Guest User

Zadanie 1 kolos grupa 1

a guest
Jan 20th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /* program ktory utworzy tab losowe od a do , funkcje ktora utworzy nowa tablice zawierajaca po jednym wystapieniu elementu z tab 1*/
  4. int x;
  5. int* new_tab(int n)
  6. {
  7. int *p=(int*)malloc(n*sizeof(int));
  8. return p;
  9. }
  10.  
  11. void sort_tab(int *tab,int n)
  12. { int x=0;
  13. for(int i=0;i<n;i++)
  14. {
  15. for (int j=0;j<n-1;j++)
  16. {
  17. if(tab[j]>tab[j+1])
  18. {
  19. x=tab[j];
  20. tab[j]=tab[j+1];
  21. tab[j+1]=x;
  22. }
  23. }
  24. }
  25. }
  26.  
  27. int* tabex(int *tab,int n)
  28. {
  29. x=1;
  30. int k=0;
  31. for(int i=0;i<n-1;i++)
  32. if(tab[i]!=tab[i+1])x++;
  33. int *tab2=new_tab(x);
  34. for(int i=0;i<n;i++)
  35. {
  36. if(tab[i]!=tab[i+1] || tab[i]==tab[n])
  37. {
  38. tab2[k]=tab[i];
  39. k++;
  40. }
  41. }
  42. return tab2;}
  43. void print_tab(int*tab,int n)
  44. {
  45. for(int i=0;i<n;i++)
  46. printf("%d ",tab[i]);
  47. printf("\n");
  48. }
  49.  
  50. int main()
  51. { srand(time(NULL));
  52. int i,n,a,b;
  53. printf("rozmiar tablicy");
  54. scanf("%d",&n);
  55. printf("podaj zakres losowanie");
  56. scanf("%d%d",&a,&b);
  57. int* tab1=new_tab(n);
  58. for(i=0;i<n;i++)tab1[i]=rand()%(b-a+1)+a;
  59. print_tab(tab1,n);
  60. sort_tab(tab1,n);
  61. int *tab2=tabex(tab1,n);
  62. print_tab(tab2,x);
  63.  
  64.  
  65.  
  66. return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement