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

Получить квадратную матрицу порядка n - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Произведение 2х наименьших из 3х заданых http://www.cyberforum.ru/cpp-beginners/thread180197.html
Определить произведение двух наименьших из трех данных чисел. Никак не могу сделать, неправильно вычисляется при c<a<b вот код: #include <iostream> using namespace std; int main () { int a, b, c, P1, P2, P3; cout << "a=";
C++ Магический квадрат (через производный класс) Здравствуйте! Знаю, что на форуме неоднократно рассматривалась проблема разработки программы для построения магического квадрата, но то, в чем я не могу разобраться, я здесь не нашла. Необходимо разработать программу для построения магического квадрата любого нечетного порадка из последовательных натуральных числе по специальному методу. При этом нужно реализовать базовый класс квадратной... http://www.cyberforum.ru/cpp-beginners/thread180193.html
C++ Как добавить объект в середину массива, состоящего из полиморфных объектов?
У меня возникла проблемка с добавлением. Привожу свою функцию добавления, может прояснит, где у меня ошибка. Проблема в том, что первый раз добавляет эдемент, а во второй программа перестает работать с надписью Null pointer asigment. void add(int &n, Person *a) { int i,j,k,m,flag=0; Person *b,*c; if(n==9 || n==0)cout<<"Nothing to add!"; else { cout<<"1) Person"<<endl<<"2)...
Почему при инициализации данных программа работает быстрей? C++
Почему при инициализации данных программа работает быстрей?
C++ Определить, сколько цифр содержит число http://www.cyberforum.ru/cpp-beginners/thread180176.html
5 задача во вложение помагите в моём быдло коде количество цифр длинного ряда выводит а какая цифра не то значение если есть другие варианты предлогайте только надо всё в майне сделать и только циклвми( cout << "введите число n\n"; cin >> n; system("cls"); int u,y,o; if(n<0) n*=-1; for(long int i=1,Tekuwaya,TekuwayaSave=0,maxCifra=0,maxCifra2=0,vhodCifra;n>0; ) {
C++ Вычислить значения функций при различных значениях x Помогите! Вычислить значения функций y(x) и z(x, y) при различных значениях x. Пожалуйста!) подробнее

Показать сообщение отдельно
archinko
13 / 13 / 2
Регистрация: 02.03.2010
Сообщений: 29
24.10.2010, 06:13     Получить квадратную матрицу порядка n
Странно, я только что скомпилировал еще раз и запустил для N= 1,2,3,4,5,6,7,8,9,10,100,1000. Работает нормально. Мой компилятор g++, запускал под убунтой.

Добавлено через 17 минут
Попробуй так запустить
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
#include <iostream>
 
using namespace std;
 
int main()
{
        int **M,N,count=1,n,k,povoroty,countp=0; // M-собственно масив, N - его размерность,count - счетчик заполнения, n и k индексы масива, povoroty -количество поворотов, которые нужно сделать для этой размерности, countp - счетчик уже сделанныъ поворотов
        bool movedown=true,pov=false,pov1=true;// movedowv - направление заполнение матрицы(по диагонали вверх или вниз), pov - это вид поворота(когда увеличуеться Y или когда уменшаеться X), pov1 -сам факт поворота, если тру то делаеться иначе нет
        cout<<"Введите размерность матрицы N ";
        cin>>N;
        M=new int*[N];
        for(int i=0;i<N;i++) M[i]=new int[N];
        povoroty=N*2-2;// количетсво поворотов равно количество диагоналей -1, а количество диагоналей равно N+(N-1)
        n=N-1;
        k=0;
        
        while(n!=0||k!=N-1)
        {
                if(movedown){
                M[n][k]=count++;
                if(n+1>N-1||k+1>N-1) {movedown=false;n--;k--;countp++;pov=(!pov);pov1=true;}
                n++,k++;
                }
                else{
                M[n][k]=count++;
                if(n-1<0||k-1<0) {movedown=true;n++;k++;countp++;pov=(!pov);pov1=true;}
                n--,k--;
                }
                if(pov1){
                if(povoroty==(countp-1)*2) pov=(!pov);
 
                if(pov) {k++;}
                else n--;
                pov1=false;
                }
                
        }
        M[0][N-1]=N*N;
 
        for(int i=0;i<N;i++)
        {       
                for(int l=0;l<N;l++)
                {
                        cout<<M[l][i]<<" ";
                }
                        cout<<endl;
        }
        return 777;
}
 
Текущее время: 04:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru