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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ последовательность чисел b1,...bn http://www.cyberforum.ru/cpp-beginners/thread179251.html
Дана последовательность чисел b1,...bn. Получить квадратную матрицу порядка n, элементами которой являются числа b1,...,bn^n, расположенные по схеме:
C++ Указатели Нифига не догоняю тему про указатели, есть книга по C/C++ но там не очень понятным языком написано Киньте плиз ссылку на хороший мануал по указателям с нуля, я читал что если не понял эту тему то дальше язык не поймешь? http://www.cyberforum.ru/cpp-beginners/thread179248.html
C++ Возможно ли выводить текст подчеркнутым (зачеркнутым, курсивом)?
Привет всем. Поискал на форуме - не нашел. Скажите пожалуйста, возможно ли выводить текст на экран в с++ подчеркнутым (зачеркнутым, курсивом и тд.)? Задание - отсортировать массив с интерпретацией, для того, чтобы видеть работу сортировщика. Сортировку я сделал, хочу сделать интерпретацию - как-нибудь выделять элементы, которые будут меняться. Как это можно сделать?
Форматированный вывод значения переменной C++
Подскажите пожалуйста как мне вывести значение переменной функцией std::cout чтоб ей отводилось определенное кол-во знаков. Мне необходимо например вывести вот так std::cout <<"== "<<a<<" == "<<x_<<" == "<<y<<" == "<<z<<" ==\n"; чтоб каждой переменной отводилось например по 7 символов?
C++ Реккурентные последовательности http://www.cyberforum.ru/cpp-beginners/thread179215.html
Написать функцию, возвращающую значение y(x)=arctanx=бесконечная сумма от n=0 (-1)в степени n * x в степени 2n+1/(2n+1)! вычисленное с заданной точностью . Функцию протестировать в интервале с шагом r. Значения в программу вводить с клавиатуры. Результаты вычис-лений выводить в виде таблицы.Если можно с обьяснением))))
C++ Двумерный массив Напишите программу: Используя функции, решить указанную в варианте задачу. Массив должен передаваться в функцию как параметр: Определить можно ли в двумерном массиве найти такой столбец, который разбивает массив на два так, что сумма элементов в первом больше, чем сумма элементов во втором. Сам столбец в разбиваемые части не входит. подробнее

Показать сообщение отдельно
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
21.10.2010, 16:49     Построение магического квадрата
Цитата Сообщение от KObotan Посмотреть сообщение
Помогите построить магический квадрат
писалось Ооочень давно,
не знаю почему так тогда сделал но выводятся квадраты только с нечетными сторонами
"ну это просто пример Вам"

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
#include <iostream>
 
int main()
{
     int size=0;
     std::cout<<"Enter size square: ";
     std::cin>>size;
 
     if (!(size & 1)) {
         std::cerr<<"size should be even";
         std::cin.get();
         exit(1);
     }
 
     int max_size=size+(size-1);
 
     int**pMagic_square = new  int*[max_size];
     for (int i=0; i<max_size; i++)
        pMagic_square[i]=new int[max_size];
 
     int i;
     int j;
     for (i=0; i<max_size; i++)
     for (j=0; j<max_size; j++)
     pMagic_square[i][j]=0;
      int k=1;
     i=(max_size>>1);
     j=0;
     while (i<max_size){
         int i1=i;
         int j1=j;
         int gr=size>>1; //gr-расстояние от границы увеличенного массива
         while (j1<((j+(max_size>>1))+1)){
             pMagic_square[i1][j1]=k;
             if ((i1>(gr)) && (j1<(gr))) //left
                pMagic_square[i1][j1+size]=k;
             if ((i1>(size+gr)-1) && (j1>(gr)))
                pMagic_square[i1-size][j1]=k; //down
             if ((i1<(gr)) && (j1>(gr)))
                pMagic_square[i1+size][j1]=k; //up
             if ((i1>(gr)) && (j1>(size+gr)-1))
                pMagic_square[i1][j1-size]=k; //right
             --i1;
             ++j1;
             ++k;
         }
         ++i;
         ++j;
     }
     std::cout<<std::endl<<"Magic square: "<<std::endl<<std::endl;
     for (i=(size-1)>>1; i<=max_size-(size>>1)-1; i++ ){
         for (j=(size-1)>>1; j<=max_size-(size>>1)-1; j++ )
             std::cout << pMagic_square[i][j] << " ";
         std::cout << std::endl;
     }
 
     for (int i = 0; i < max_size; ++i)
        delete[] pMagic_square[i];
        delete[] pMagic_square;
 
     std::cin.get();
     return 0;
}
 
Текущее время: 09:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru