Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <locale.h>
- int main()
- {
- setlocale(LC_ALL, "rus");
- const int n = 3, m = 6;
- int a[n][m];
- int i, j;
- int k = 0, f = 0, p = 0,y =0; //k- для подсчёта 1 в стобце\строке
- //f- для подсчёта строк содер-х хотя бы одну 1
- //p- для определения однозначности
- //y - для подсчёта всюду или частично определено
- printf("\nЗаполните матрицу, чтобы 1 стояла на пересечении элементов имеющих связь, 0 в противном случае");
- //заполнение матрицы
- for (i = 0; i < n; i++)
- for (j = 0; j < m; j++) {
- scanf_s("%d", &a[i][j]);
- }
- //вывод матрицы
- for (i = 0; i < n; i++) {
- for (j = 0; j < m; j++) {
- printf("\t%d", a[i][j]);
- }
- printf("\n");
- }
- //найдем область определения
- printf("\nОбласть определения: {");
- for (i = 0; i < n; i++, k = 0) {
- for (j = 0; j < m; j++) {
- if (a[i][j] == 1)
- k++;
- }
- if (k != 0) {
- printf("a%d",i+1);
- printf(" ");
- y++;
- }
- }
- printf("}");
- //в\на и многозначность\однозначность
- for (i = 0, k = 0; i < m; i++, k = 0) {
- for (j = 0; j < n; j++) {
- if (a[j][i] == 1)
- k++;
- }
- if (k != 0) {
- f++;
- if (k > 1) {
- p++;
- }
- }
- }
- printf("\nСюрьекция:");
- if ((f == m) && (y==n) && (p==0))
- printf("+ "); else
- printf("- ");
- return 0;
- }
Add Comment
Please, Sign In to add comment