Facebook
From Speedy Baboon, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 275
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void wlk(int *a);
  5. void wart(int a, int *t);
  6. void drukuj(int a, int *t);
  7. int *tab_3(int a, int *t, int b, int *w, int *c);
  8.  
  9. int main()
  10. {
  11.         int a,b,c,i;
  12.         int *t,*w,*tab=NULL;
  13.  
  14.         fflush(stdin);
  15.         printf("Wskazywanie elementow wspolnych 2 tablic\n");
  16.         do
  17.         {
  18.                 printf("Podaj rozmiar tablicy\n");
  19.                 wlk(&a);
  20.         }while (a<1);
  21.         t = (int*) malloc (a*sizeof(int));
  22.     printf("Podaj wartosci tablicy\n");
  23.         wart(a,t);
  24.  
  25.         do
  26.         {
  27.                 printf("Podaj rozmiar drugiej tablicy\n");
  28.                 wlk(&b);
  29.         }while (b<1);
  30.         w = (int*) malloc (b*sizeof(int));
  31.         printf("Podaj wartosci drugiej tablicy\n");
  32.         wart(b,w);
  33.  
  34.         printf("\n");
  35.         drukuj(a,t);
  36.         printf("\n");
  37.         drukuj(b,w);
  38.  
  39.         printf("\n");
  40. //      tab = tab_3(a,t,b,w,&c);
  41. //      printf("%d\n",c);
  42.         printf("\n");
  43. //    drukuj(c,tab);
  44.        
  45.  
  46.                 free(t);
  47.  
  48.                 free(w);
  49.  
  50. //              free(tab);
  51.         getche();
  52.         return 0;
  53. }
  54.  
  55. void wlk(int *a)
  56. {
  57.         scanf_s("%d",a);
  58. }
  59.  
  60. void wart(int a, int *t)
  61. {
  62.         int i=0;
  63.         do
  64.         {
  65.         scanf_s("%d",t+i);
  66.         i++;
  67.         }while(i<a);
  68. }
  69.  
  70. int *tab_3(int a, int *t, int b, int *w, int *c)
  71. {
  72.         int i,j,*tab,k;
  73.         tab=NULL;
  74.         k=0;
  75.         for(i=0 ; i<a ; i++)
  76.         {
  77.                 for(j=0 ; j<b ; j++)
  78.                 {
  79.                         if (*(t+i) == *(w+j))
  80.                         {
  81.                                 k++;
  82.                                 tab = (int*) realloc (tab,k+1);
  83.                                 *(tab+j) = *(w+j);
  84.                         }
  85.                 }
  86.         }
  87.         *c=k;
  88.         return tab;
  89. }
  90.  
  91. void drukuj(int a, int *t)
  92. {
  93.         int i;
  94.         for(i=0 ; i<a ; i++)
  95.         {
  96.                 printf("%d\n",*(t+i));
  97.         }
  98. }