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

Автонахождение магических квадратов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ интегрирующая функция http://www.cyberforum.ru/cpp-beginners/thread263913.html
Разработать функцию Integr(A,B,N), интегрирующуюполином степени N, заданный коэффициентами в массиве А и помещающую коэффици- енты полинома B(x) = SA(x)dx (S тут как знак интеграла) в массив B. Функция, не должна использовать дополнительный массив. надо сделать на С. помогите, а то я это условие не понимаю что такое полином и что надо сделать то если А B N уже известны
C++ Функции Написать функцию, которая расчитывает площадь прямоугольника. Функция имеет высоту и х координату его левого и правого верхних углов. Прошу помочь сейчас на пересдаче http://www.cyberforum.ru/cpp-beginners/thread263907.html
C++ Работа с файлами
Здравствуйте! У меня возникла такая проблема. Мне нужно переместить строковую информацию из двоичного файла в текстовый в таком же порядке в котором она отображается при выводе на экран. Текстовый файл должен создаваться после того как пользователь выберет в меню пункт переместить из двоичного в текстовый. Текстовый файл должен выводить информацию на экран. Вот код программы который выполнен...
C++ Генерация случайных чисел типа double во всем диапазоне
Нужна помощь в написании программы, генерирующей псевдослучайные числа типа double на всем диапазоне, используя функцию rand(). Я пытался реализовать это, заполняя отдельно каждый из восьми байт случайными числами: #include "stdio.h" #include "stdlib.h" int main() { double x; int seed; int *px;
C++ Последовательность Хэмминга http://www.cyberforum.ru/cpp-beginners/thread263858.html
1)Даны натуральные числа a,b (a<=b). Получить все простые числа p, удовлетворяющие неравенству a<=p<=b. 2)Дано натуральное число n. Выяснить, можно ли представить n! в виде произведения 3 последных целых чисел. 3)Последовательность Хэмминга образует натуральные числа, не имеющие других простых делителей, кроме 2,3,5. Найти первый элемент, больший данного числа N, а так же номер этого элемента в...
C++ последовательность Фибоначии #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { // определяем когда нужно прекратить перебор, так как последовательность // фибонначи бесконечна int max; подробнее

Показать сообщение отдельно
Ариман
20 / 20 / 1
Регистрация: 18.09.2010
Сообщений: 28

Автонахождение магических квадратов - C++

25.03.2011, 16:24. Просмотров 519. Ответов 6
Метки (Все метки)

Тут собсна проблема он ненаходит ниодного магического кубика ,непойму в чем причина,если убрать автозаполнение и заполнить матрицу единицами то пишет что найден кубик .А если пустить на самотек при значение прокрутки 200000 он ничего ненаходит,помогите найти ошибку.
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<algorithm>
using namespace std;
const int size=4;
void stolb_chek(int[][size],int*);
void str_chek(int[][size],int*);
void diag1_chek(int mas[][size],int&);
void diag2_chek(int mas[][size],int&);
////////////////////////////////////////////
void main ()
{   int count=1;
    int diag1=0,diag2=0;
    int str[size]={0};
    int stolb[size]={0};
    int mas[size][size]={0};
 
    srand(time(NULL));
cout<<"zapolneniye massiva"<<endl;
/////////////////////////////////////
for(int i=0;i<size;i++)
for(int j=0;j<size;j++)
{
mas[i][j]=count;
count++;
}
 
/////////////////////////////////////
for(int k=0;k<2;k++)
{diag1=0,diag2=0;
for(i=0;i<size;i++)
{
str[i]=0;
stolb[i]=0;
}
cout<<" peremeshivaniye massiva"<<endl;
for(i=0;i<10000;i++)
swap(mas[rand()%size][rand()%size],mas[rand()%size][rand()%size]);
for( i=0;i<size;i++)
{
for(int j=0;j<size;j++)
cout<<mas[i][j]<<" ";
cout<<endl;
}
 
str_chek(mas,str);
stolb_chek(mas,stolb);
diag1_chek(mas,diag1);
diag2_chek(mas,diag2);
cout<<"proverka na magiyu"<<endl;
cout<<"1 diag="<<diag1<<" 2diag="<<diag2<<" stroka="<<str[0]<<" stolb="<< stolb[0]<<endl;
 
for( i=0;i<size;i++)
if((str[i]!=stolb[i])||(diag1!=str[i])||(diag2!=str[i])||(diag1!=stolb[i])||(diag2!=stolb[i]))
{
    cout<<"oblomis"<<endl;
break;
}
else
if(i==size-1)
{cout<<"Kubik magicheskiy"<<endl;
for( i=0;i<size;i++)
{
for(int j=0;j<size;j++)
cout<<mas[i][j];
cout<<endl;
}
system("pause");
}
 
}
 
}
////////////////////////////////////
void str_chek(int mas[][size],int*str)
{
    for(int i=0;i<size;i++)
for(int j=0;j<size;j++)
 
str[i]+=mas[i][j];
 
}
////////////////////////////////////////////
 
void stolb_chek(int mas[][size],int*stolb)
{
    for(int i=0;i<size;i++)
        for(int j=0;j<size;j++)
        
            stolb[j]+=mas[i][j];
    
}
////////////////////////////////////////////////
void diag1_chek(int mas[][size],int&diag1)
{
    for(int i=0;i<size;i++)
            diag1+=mas[i][i];
    
}
////////////////////////////////////
void diag2_chek(int mas[][size],int&diag2)
{
 
        for(int j=0,i=size-1;j<size;j++,i--)
            diag2+=mas[i][j];
    
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru