D
dkgC
Язык выполнения - СИ. Задание таково, что нужно определить пару матриц с наибольшим кол-вом простых чисел отличных друг от друга на 2 (типа : 5 7). Я так понял, что числа должны быть расположены как-то так [0][0] [0][1]. [0][1] [0][2] (это я привел пример с индексами) и т.д.
Все, до чего я допер, это вот этот код, ввод кол-ва структур, имен матриц и размерностей их, ну и заполнение естесно.
Как я понял, алгоритм выполнения следующий:
1. Проходим по каждой матрице циклом и ищем есть ли там вообще простые числа (типа как-то matr[j]%2==1) и если есть flag=1. Если нету - break и выход из программы.
2. Проходим по каждой матрице циклом и находим разность между разность между элементами. Хотя вот тут опять придется эти эл-ты проверять на простое/непростое. Ну и вроде если она равна 2 - то ставим на счетчик k++.
3. Выводим название пар матриц с наиб. вот такими числами отличающихся на два.
Как это реализовать - понимаю не очень :lol:
Прошу помощи, камрады!
Все, до чего я допер, это вот этот код, ввод кол-ва структур, имен матриц и размерностей их, ну и заполнение естесно.
Как я понял, алгоритм выполнения следующий:
1. Проходим по каждой матрице циклом и ищем есть ли там вообще простые числа (типа как-то matr[j]%2==1) и если есть flag=1. Если нету - break и выход из программы.
2. Проходим по каждой матрице циклом и находим разность между разность между элементами. Хотя вот тут опять придется эти эл-ты проверять на простое/непростое. Ну и вроде если она равна 2 - то ставим на счетчик k++.
3. Выводим название пар матриц с наиб. вот такими числами отличающихся на два.
Как это реализовать - понимаю не очень :lol:
Прошу помощи, камрады!
C++:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct table {
char *name;
int **matr;
} Tables;
int main()
{
int T, N, M;
int i, j, h;
Tables *table;
printf("Enter the T (number of structures):");
scanf("%d", &T);
table = (Tables *)malloc(T * sizeof(Tables));
printf ("\nEnter the N (the size of the matrix):");
scanf("%d", &N);
for (int k = 0; k < T; k++) {
printf ("\nEnter the name of the %d-th matrix - ", k+1);
table[k].name=(char *)malloc(10 * sizeof(char));
scanf("%s", table[k].name);
printf ("\nEnter the elements of the matrix %s \n",table[k].name);
table[k].matr=(int **)malloc(N*sizeof(int *));
for (int i = 0; i < N; i++) {
table[k].matr[i]=(int *)malloc(N * sizeof(int));
for (int j = 0; j < N; j++) {
printf ("%s[%d][%d]= ", table[k].name, i, j);
scanf ("%d", &table[k].matr[i][j]);
}
}
}
getch();
}