Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <omp.h>
- #include <stdlib.h>
- #include <iostream>
- using namespace std;
- typedef int t2[100][100];
- void gnp(int n, float p, t2 A)
- {
- int i, j, x;
- for (i = 0; i<n - 1; i++)
- {
- A[i][i] = 0;
- for (j = i + 1; j<n; j++)
- {
- x = ((rand() % 100)*0.01 <= p); A[i][j] = x; A[j][i] = x;
- }
- }
- A[n - 1][n - 1] = 0;
- printf("Liczba watkow %d\n",omp_get_num_threads());
- printf("Maksymalna liczba watkow %d\n",omp_get_max_threads());
- }
- int krawedzie(int n, t2 A)
- {
- int i, j, k = 0;
- for (i = 0; i<n - 1; i++)
- for (j = i + 1; j<n; j++)
- if (A[i][j]) k++;
- return k;
- }
- int trojkaty(int n, t2 A)
- {
- int i, j, m, t = 0;
- for (i = 0; i<n - 2; i++)
- for (j = i + 1; j<n - 1; j++)
- if (A[i][j]) for (m = j + 1; m<n; m++)
- if (A[i][m] && A[j][m]) t++;
- return t;
- }
- void druk(int n, t2 A)
- {
- int i, j;
- for (i = 0; i<n; i++)
- {
- for (j = 0; j<n; j++) if (A[i][j]) printf("1 "); else printf("0 ");
- printf("\n");
- }
- }
- int main(int argc, char* argv[])
- {
- int lkraw, ltroj, n = 5;
- float p = 0.7;
- t2 A;
- gnp(n, p, A);
- lkraw = krawedzie(n, A);
- ltroj = trojkaty(n, A);
- druk(n, A);
- printf("Liczba krawedzi = %d\n", lkraw);
- printf("Liczba trojkatow = %d\n", ltroj);
- system("pause");
- return 0;
- }
Add Comment
Please, Sign In to add comment