Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2013, 04:27   #1
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию ранг матрицы

Код:
int rang(double mas[][N],int n)
{
    int rang=N;
    cout << "\nf_rang = " << rang << endl;
    double sum=0;
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<N; j++)
            sum+=mas[i][j];
        cout << "sum  = " << sum << endl;
        if (sum == 0)
            rang = rang - 1;
        cout << "rang " << i << "  = " << rang << endl;
        sum = 0;

    }

    cout << "end rang = " << rang << endl;
    return rang;
}
почему такая ф-я всегда возвращает 1. Хотя выводит все правильно.
Pein95 вне форума Ответить с цитированием
Старый 15.01.2013, 11:02   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

1) Это самый странный подсчёт ранга на моей памяти. Ранг этой матрицы - 1:
Код:
2 2 3
4 4 6
6 6 9
Ранг этой матрицы - 3:
Код:
 1 -2  1
-2  1  1
 1  1  2
А у Вашей программы почему-то наоборот.

2) Что значит - "возвращает 1, хотя выводит правильно"? Что выводится "end rang = 3", а дальше в программе, когда Вы выводите возвращённое значение, выводится 1?
Abstraction вне форума Ответить с цитированием
Старый 15.01.2013, 15:50   #3
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию



вот как работает
Pein95 вне форума Ответить с цитированием
Старый 15.01.2013, 16:06   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Где код, выводящий
Код:
===============
rang = 1
В первом посте я его не вижу.
Abstraction вне форума Ответить с цитированием
Старый 15.01.2013, 17:53   #5
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

Код:
int main()
{
    double a[N][N];
    int r;
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<N; j++)
        {
            a[i][j] = rand() % 100;
            cout << a[i][j] << '\t';
        }
        cout << '\n';
    }

    triangle_view(a,5);
    cout << "==========\n";

    for (int i=0; i<N; i++)
    {
        for (int j=0; j<N; j++)
            cout << a[i][j] << '\t';

        cout << '\n';
    }

    r = rang(a,N);
    cout << "==============\n" << "rang = " << rang << endl;




    return 0;
}
Pein95 вне форума Ответить с цитированием
Старый 15.01.2013, 18:02   #6
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Код:
cout << "==============\n" << "rang = " << rang << endl;
И что вы ввыводите? r для чего нужна была?
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 15.01.2013, 22:50   #7
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

Блин, точно) как не увидел =). Спс за помощь)
Pein95 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ранг матрицы Sarumjan Microsoft Office Excel 6 31.01.2012 22:34
Ранг матрицы / Тестирование sawer6 Visual C++ 27 06.02.2011 19:50
Ранг матрицы и рекурсия M1ham Общие вопросы C/C++ 4 23.01.2011 22:29
Си/Си++ ранг матрицы методом Гаусса Маришка_Курносова Помощь студентам 1 11.09.2010 17:31
След и Ранг Матрицы Estimate Microsoft Office Excel 4 06.06.2010 16:59