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

Доработать код для магического квадрата - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ массивы http://www.cyberforum.ru/cpp-beginners/thread222434.html
Заполните массив целого типа значениями, образованными из степеней двойки: в mas записывается 2 в степени 0, в mas записывается 2 в степени 1, в mas записывается 2 в степени 2 и т.д., после чего выведите данные массива на экран.использовать библиотеку только #include <stdio.h> и через printf и scanf
C++ Точка в треугольнике Помогите! даны три вершины треугольника с координатами(коорд вводятся с клавиатуры) А(х1,y1) B(х2,y2) и С(х3,y3). И вводятся координаты другой точки Д(х4,y4)-и нужно определить принадлежит эта точка треугольнику или нет!А перед этим еще проверить возможен ли треугольник с такими точками. http://www.cyberforum.ru/cpp-beginners/thread222429.html
C++ Внешний файл
есть программа нужно, чтобы она брала данные через внешний файл #include "stdafx.h" #include <conio.h> #include <stdio.h> #include <iostream> #include <math.h> #define size 15 using namespace std; void _tmain()
C++ Сортировка
Нужна помощь с этой задачей: Дано произвольное целое положительное число K (K<10^9). Вывести цифры этого числа в порядке неубывания (например, 546085 =>045568). Процедуры и функции работы со строками не использовать.
C++ Константные статические объекты класса. http://www.cyberforum.ru/cpp-beginners/thread222394.html
Здравствуйте. Есть класс "матрица" нужно задать константные матрицы такие как E - единичная матрица и т.д., как это сделать? #include <iostream> #include <sstream> #include <string> #include <vector> #include <map> #include <set> #include <algorithm> #include <limits> #include <iomanip>
C++ Как массив разнозначных чисел превратить в массив цифр? (С++) (Я делаю на Builder 6, С++ на консоли) У меня в курсаче есть такое задание: Для введённого целого числа N определить N-ую ЦИФРУ последовательности. Последовательность составляется так: Это ЧИСЛА Фибоначчи, Последующее = сумме двух предыдущих (F = F + F) Даны F = 0, F = 1. Т.е. дальше будет так: F = F + F = 1, F=1+1=2, F=2+1=3 и т.д. будут такие ЧИСЛА:... подробнее

Показать сообщение отдельно
GoreOtUma
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 7

Доработать код для магического квадрата - C++

29.12.2010, 18:58. Просмотров 1003. Ответов 5
Метки (Все метки)

Вот задание дали для допуска на экзамен.
3. Магическим квадратом порядка n называется квадратная таблица размером n x n, состоящая из чисел 1, 2,….n2 так, что сумма по каждому столбцу, каждой строке и каждой из двух главных диагоналей равны между собой. Проверьте, является ли заданная в текстовом файле матрица магическим квадратом.

Напечатал что-то, вроде работает, но преподаватель сказал еще доработать.
Я не понимаю как.=)
помогите, уважаемые форумчане.=)
Вот код, что написал с помощью одногрупника.
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
#include "stdafx.h"
 
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main()
{   const int z=3;
    int q,A[z][z], i,j,e[z],r=1, stolb=0, strok,stro[z], stol[z], diag1=0, diag2=0, t, o,k; // diag1- побочная диагональ
    fstream(fin);
    fin.open("text.txt", ios::in);
    for (i=0; i<z; i++)
        {for(j=0; j<z; j++)
            {fin>>A[i][j];}}
    fin.close();
    for (i=0;i<z; i++)
    {for (j=0; j<z; j++)
        {for (o=0;o<z;o++)
            {for (k=0;k<z;k++)
            {if (i==o&j==k)o++&k++;
                if(A[i][j]==A[o][k])
                {for (;;)                   
                cout<<"element povtoriaiytsia"<<'\n';                                       
                }}}}}
for (i=0;i<z; i++)
    {for (j=0; j<z; j++)
{if (A[i][j]<0)
{for (;;)                   
cout<<"element v "<<j+1<<" solbce i "<<i+1<<" stroke ravniy "<<A[i][j]<<" ne v ramkax ot 0 do "<<z*z<<'\n';}
if (A[i][j]>z*z)
{for (;;)                   
cout<<"element v "<<j+1<<" solbce i "<<i+1<<" stroke ravniy "<<A[i][j]<<" ne v ramkax ot 0 do "<<z*z<<'\n';}}}
    for (i=0; i<z; i++)
        {stolb=0;
        strok=0;
            for(j=0; j<z; j++)
            {stolb=stolb+A[j][i];
            strok=strok+A[i][j];}
            stol[i]=stolb;
            stro[i]=strok;} 
    for (i=0;i<z; i++)
    {diag1=diag1+A[i][i];}
    for (i=z-1; i>=0; i--)
    {diag2=diag2+A[i][i];}
    for (i=0; i<z; i++) 
    {if (stol[i]==stro[i] & diag1==diag2 & stro[i]==diag1) e[i]=1;
    else e[i]=0;
        r=r*e[i];}  
    if (r==0)cout<<"ne magicheskiy";
    else cout<<"magicheskiy";
    cin>>q;}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru