×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: C
Posted by: Damian Pytkowski
Added: May 2, 2016 8:28 PM
Views: 3
Wczytuje do tablicy dwuwymiarowej wyłącznie liczby
pierwsze. Wydrukować liczby znajdujące się w polach tablicy o obu indeksach
całkowicie podzielnych przez 3. Do przemieszczania się po elementach tablicy wykorzystać wskaźniki.
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define LICZBA 10
  5. void los(int t[LICZBA][LICZBA]);
  6. void wysw(int t[LICZBA][LICZBA]);
  7. int prim(int n);
  8. void main()
  9. {
  10.     int tab[LICZBA][LICZBA];
  11.     los(tab);wysw(tab);
  12. }
  13. void los(int t[LICZBA][LICZBA])
  14. {
  15.     int i,j;
  16.     srand(time(NULL));
  17.     for(i=0;i<LICZBA;i++)
  18.     {
  19.         for(j=0;j<LICZBA;j++)
  20.         {
  21.             *(*(t+i)+j)=rand()%100;
  22.  
  23.             while(prim(*(*(t+i)+j)))
  24.                 *(*(t+i)+j)=rand()%100;
  25.         }
  26.     }
  27. }
  28. void wysw(int t[LICZBA][LICZBA])
  29. {
  30.     int i,j;
  31.     for(i=0;i<LICZBA;i++)
  32.     {
  33.         for(j=0;j<LICZBA;j++)
  34.         {
  35.             if((j+1)%3==0 && (i+1)%3==0)
  36.             printf("i=%d;j=%d \t%2d\n",i+1,j+1,*((*t+i)+j));
  37.         }
  38.     }
  39. }
  40. int prim(int n)
  41. {
  42.     int k,i,j=0;
  43.     k=sqrt(n);
  44.     for(i=2;i<=k;i++)
  45.     {
  46.         if(n%i==0)
  47.         {
  48.             j=1;break;
  49.         }
  50.     }return j;
  51. }
  52.  
  53.  
  54.