Форум программистов, компьютерный форум CyberForum.ru

Латинский квадрат - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Используя рекурсию вивести групу даних с их индексами не используя масив http://www.cyberforum.ru/cpp-beginners/thread392996.html
Вот мой код на с++ #include<iostream> #include<conio.h> using namespace std; void elementu(int); void main(void){ setlocale(LC_ALL,".1251"); int n,i; cout<<"Введiть кiлькiсть елементiв="; cin>>n;
C++ Поиск гамильтонова пути в орграфе Задача такая: Дан ориентированный граф без циклов. Требуется проверить, существует ли в нем путь, прохо- дящий по всем вершинам. Первая строка входного файла содержит два целых числа n и m — количество вершин и дуг графа соответственно. Следующие m строк содержат описания дуг по одной на строке. Ребро но- мер i описывается двумя натуральными числами bi и ei — началом и концом дуги... http://www.cyberforum.ru/cpp-beginners/thread392992.html
C++ Вставить функцию в программу!
Помогите пжлст вставить функцию в программу #include <stdio.h> #include <locale.h> float func (float x, float eps) { return (x + eps); } void tabul (float a, float b, int n, float eps) { float h, y, x;
Сортировка подсчётом C++
Нужно написать функцию для сортировки одномерного массива подсчётом(простой алгоритм).
C++ Зеркально отразить ее элементы относительно побочной диагонали. http://www.cyberforum.ru/cpp-beginners/thread392953.html
Дана квадратная матрица A порядка M. Зеркально отразить ее элементы относительно побочной диагонали. (при этом элементы побочной диагонали останутся на прежнем месте, элемент A1,1 поменяется местами с AM,M, элемент A1,2 — с AM–1,M и т. д.). Вспомогательную матрицу не использовать.
C++ Непонятные знаки Обьясните пожалуйста, что значит *char (char - любая переменная). Очень часто вижу в разных кодах. подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
27.11.2011, 15:37     Латинский квадрат
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define N 3
 
int RowPerestanovka(int a[N][N], int k)
{
   int flag = 1, i, *count = (int *)calloc(N+1, sizeof(int));
   for (i = 0; i < N && flag; i++)
      if (a[k][i] >= 1 && a[k][i] <= N)
         count[a[k][i]]++;
      else flag = 0;
   for (i = 1; i <= N && flag; i++)
      if (count[i] != 1)
         flag = 0;
   free(count);
   return flag;
}
 
int StPerestanovka(int a[N][N], int k)
{
   int flag = 1, i, *count = (int *)calloc(N+1, sizeof(int));
   for (i = 0; i < N && flag; i++)
      if (a[i][k] >= 1 && a[i][k] <= N)
         count[a[i][k]]++;
      else flag = 0;
   for (i = 1; i <= N && flag; i++)
      if (count[i] != 1)
         flag = 0;
   free(count);
   return flag;
}
 
void Init(int a[N][N])
{
   int i, j;
   for(i = 0; i < N; i++)
      for(j = 0; j < N; j++)
         scanf("%d", &a[i][j]);
}
 
void Print(int a[N][N])
{
   int i, j;
   for(i = 0; i < N; i++)
   {
      for(j = 0; j < N; j++)
         printf("%d ", a[i][j]);
      putchar('\n');
   }
}
 
int Check(int a[N][N])
{
   int i, flag;
   for(i = 0, flag = 1; i < N && flag; i++)
      if (!RowPerestanovka(a, i) || !StPerestanovka(a, i))
         flag = 0;
   return flag;
}
 
int main()
{
   int a[N][N];
   Init(a);
   Print(a);
   printf("%s\n", Check(a) ? "yes" : "no");
   getch();
   return 0;
}
 
Текущее время: 22:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru