Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С чего начать? https://www.cyberforum.ru/ cpp-beginners/ thread260303.html
Дорогие друзья-программисты, есть интерес для освоения языка си++, но я не знаю с чего начать. Пожалуйста помогите информацией, ссылками или советами Есть навык программирования на паскале, на уровне 10 класса школы. СПАСИБО ЗА ВНИМАНИЕ!
Задан массив натуральных чисел X из 20 элементов. Удалить из него 2 наибольших и наименьших элемента. C++
Задан массив натуральных чисел X из 20 элементов. Удалить из него 2 наибольших и наименьших элемента. Добавлено через 23 часа 12 минут помогите с программкой :bye:
C++ Сверить вводимый текст со словарём https://www.cyberforum.ru/ cpp-beginners/ thread260277.html
Дан текст, состоящий из предложений. Ввод текста осуществляется в несколько строк (не более 15). Признак завершения ввода – ввод пустой строки. Также задан словарь, состоящий максимум из 50 слов. Ввод слов осуществляется до ввода пустой строки или до заполнения словаря. Вывести текст на экран, при этом все слова в тексте, которых нет в словаре или они записаны с ошибкой, преобразовать к...
C++ С++:invalid types 'int[int]' for array subscript https://www.cyberforum.ru/ cpp-beginners/ thread260239.html
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента. С++ ошибка invalid types 'int' for array subscript в функции в строке if (a==0) # include <stdio.h> //для использования ввода/вывода информации # include <windows.h> //для использования русского языка # include <math.h> // для использования математических функция #...
Функция, проверяющая, является ли текстовый файл пустым C++
У меня вопрос: Есть ли в с++ функция возвращающая истину если открытый на чтение txt файл пустой?? Добавлено через 4 минуты Если нет то есть ли тоже самое для переменной?
C++ Нужно пару программ, кто может напишите https://www.cyberforum.ru/ cpp-beginners/ thread260223.html
Мне нужны две программы: 1. Вычисление минимума методом параболы Вход: число Х и шаг H, если минимума нет вывести ошибку 2. Кубический сплайн с апроксимацией производных Ввод: интервал а,b точка x, шаг h; Программа должна содержать массивы значение, заполняются сами, по заданной функции, количество точек это целое число деления от длины интервала на шаг. если не возможно найти ответ, или x...
C++ Решите два задания! Здравствуйте многоуважаемые форумчане, программисты! Ситуация до ужаса банальная! Я вот только недавно получил задания по программированию (хотя должен был получить ещё месяца два назад!) и толком то не освоился ещё, а учитель пресует с заданиями, якобы как хочешь -но чтобы решения были! Поэтому я надеюсь только на вас))) Всего нужны две задачки. Мне то сложно, а вам как разминка)))...да и ещё,... https://www.cyberforum.ru/ cpp-beginners/ thread260220.html C++ Вроде массивы
Написать программу, использующую функцию. Для каждого из заданных целочисленных массивов X, Y, Z вычислить произведение элементов кратных 5 и найти максимальное из них. N=10 M=12 K=16 Вычисление произведения элементов кратных 5 оформить в виде функции
C++ Матрици Записать на место отрицательных элементов матрицы нули, а на место положительных — единицы. Вывести на печать матрицу в общепринятом виде. Массив: D; {d}_{ij}-целые числа https://www.cyberforum.ru/ cpp-beginners/ thread260210.html C++ Последовательность чисел https://www.cyberforum.ru/ cpp-beginners/ thread260207.html
Задана последовательность { {a}_{i}}. Найти такое {a}_{i}, для которого выполняется \left|{a}_{i}-{a}_{i-1}\right|< \varepsilon, где \varepsilon=0,0001 . Исходные данные: {a}_{i}=1/\left({2}_{i}+{i}^{3}+5 \right) Добавлено через 6 часов 34 минуты Кто-нибудь ну помогите решить это...Я даже представления не имею как эту формулу записать можно
максимум и минимум C++
Даны x, y, z. Вычислить a, b, используя приведенные ниже формулы. Получить max(a, b). a=\frac{1+{\sin }^{2}(x+y)}{2\left|2-2x/(1+{x}^{2}{y}^{2} \right|}+x, b={\cos }^{2}\left(\arctan \frac{1}{z} \right)
C++ Вычисление суммы Вычислить \sum_{x-1}^{10}{a}_{n}. Исходные данные {a}_{n}=n!/2n https://www.cyberforum.ru/ cpp-beginners/ thread260188.html
0 / 0 / 1
Регистрация: 15.11.2009
Сообщений: 93
0

STL,Поиск определителя и решение с.л.а.у.,WxDev-C++7.3.1.3 - C++ - Ответ 1466551

19.03.2011, 20:02. Показов 903. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Привет.
Пытаюсь написать консольную программку для поиска определителя матрицы и нахождения корней линейного уравнения.
Делаю с помощью STL векторов.

Код в принципе скомпилировался,но программа не запустилась.
Есть сообщение,но не могу его понять.
Подскажите где может быть ошибка?
Компилятор выдаёт сообщение такого плана:

[Linker Error] undefined reference to `determinant(std::vector<std::vector<double, std::allocator<double> >, std::allocator<std::vector<double, std::allocator<double> > > >&)'
ld returned 1 exit status
C:\Documents and Settings\All Users\Äîêóìåíòû\Objects\MingW\Output\MingW\Kursovoy_proj_13_03_2011\Makefile.win [Build Error] [Output/MingW/Kursovoy_Project.exe] Error 1

Сам код:

Код
#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
void showMenu();
void showInputMatrix(std::vector< std::vector<double> > sq_matrix);
void showInputMatrix_Vector(std::vector< std::vector<double> > sl_matrix, std::vector<double> lf);
                    
double determinant(std::vector< std::vector<double> > &matrix);
void slau_funct(std::vector< std::vector<double> >& sl_matrix, std::vector<double>& lf, std::vector<double>& lx);
int main(int argc, char *argv[])
{
    
    int choice;
    double dtm;
         
   showMenu();
   cin>>choice;
   
   while(choice != 0){
   switch(choice)
   {
     case 1:
          {
          vector<vector<double> > square_matrix; 
          vector<double> line;
          int n; //=3;
          cout<<"Vvedite razmernost' matrix:\n";
          cin>>n;
          double temp;
          cout<<"Vvedite znachenie:\n";
          for(int i=0;i<n;i++)
          {
            line.clear();
             for(int j=0;j<n;j++)
             {
               cin>>temp;
               line.push_back(temp);                  
                cout<<"Vvedite znachenie:\n";
             }
      
            square_matrix.push_back(line);
          }
    
          showInputMatrix(square_matrix);
          
          dtm = determinant(square_matrix);
          cout<<"Determinant = ";
          dec(cout);
          cout<<dtm<<endl;
     break;}
    
     case 2:
    
          {vector<vector<double> > slau_matrix; 
          vector<double> line2;
          vector<double> line_x;
          vector<double> line_f;    // *****slau_matrix * line_x = line_f*****
    
        int m,i2,j2;
        double temp2;
        double temp_f;
        cout<<"Vvedite razmernost' matrix:\n";
        cin>>m;
        cout<<"Vvedite znacheniya v matrix:\n";
           for( i2=0;i2<m;i2++)
           {
             line2.clear();             //ochishaem vector line
             line_x.clear();           //ochishaem vector line_x
             for(j2=0;j2<m;j2++)
             {
                cin>>temp2;
                line2.push_back(temp2);                  
                cout<<"Vvedite znacheniya v matrix:\n";
             }
      
            slau_matrix.push_back(line2);    //sozdaem 2merny massiv
           }
    
            cout<<"Vvedite znacheniya v vector_f (znachenia dlya funczcii_f):\n";
            for(i2=0;i2<m;i2++)
            {
               cin>>temp_f;
               line_f.push_back(temp_f);      //zanosim znachenia v vector line_f
               cout<<"Vvedite znacheniya v vector_f (znachenia dlya funczcii_f):\n";
            }
    
         showInputMatrix_Vector(slau_matrix, line_f);
         slau_funct(slau_matrix, line_f, line_x);
         
         cout<<"Naidennie znachenia x:\n";
         for(i2=0;i2<line_x.size();i2++)
         {
                cout<<line_x[i2]<<"|";
         }
         
     break;}
     
     default :
            cout<<"exit...\n";
     break;   
   }//end switch
  
   showMenu();
  cin>>choice;
}//end while 


    system("PAUSE");
    return EXIT_SUCCESS;
}


void showInputMatrix(std::vector< std::vector<double> > matrix)
{    
     cout<<"Matrix\n";
       for(int i=0;i<matrix.size();i++)
       {
         for(int j=0;j<matrix.size();j++)
         { 
           dec(cout);
           cout.width(11);
           cout.precision(10);
           cout<<matrix[i][j]<<"|";
         }
        cout<<endl;
       }
}


void showInputMatrix_Vector(std::vector< std::vector<double> > sl_matrix, std::vector<double> lf)
{       
      int i,j;
        cout<<"Sistema lineynih uravneniy\n";
          for(i=0;i<sl_matrix.size();i++)
          {
            for(int j=0;j<sl_matrix.size();j++)
            { 
              dec(cout);
              cout.width(11);
              cout.precision(10);
              cout<<sl_matrix[i][j]<<"|";
            }
           cout<<endl;
          } 
           
           for(j=0;j<lf.size();j++)   //vivod vectora line_f
            { 
              dec(cout);
              cout.width(11);
              cout.precision(10);
              cout<<lf[j]<<"\n";
            } 
            
}


void showMenu()
 {
    cout<<"vvedite 1,2 ili 0:\n"
    "1 - Vichislyaem opredelitel matrizcy\n"
    "2 - Reshaem sistemu lineinih uravneny\n"
    "0 - Vihod\n";
 }
 
double determinant(std::vector< std::vector<double> > matrix)
{   //function find determinant
    //
    int i=0, j=0;
    double koef = 1;
    double lastKoef = 0;
    bool checkKoefIsNull = false;
    int length = matrix.size();
    int fullCol = length;
     for(i=0; i<length && koef; i++)
    {
        if(matrix[i][j] != 0)
        {
            if(matrix[i][j] < 0)
            {
                for(int j=0; j<fullCol; j++)
                    matrix[i][j] *= -1;
                koef *= -1;
            }
            double lastKoef = matrix[i][j];
            for(int k=0; k<fullCol; k++)
                matrix[i][k] /= lastKoef;
            koef *= lastKoef;
            for(int nextRow=i+1; nextRow<length; nextRow++)
            {
                lastKoef = matrix[nextRow][j];
                for(int nextCol=j; nextCol<fullCol; nextCol++)
                    matrix[nextRow][nextCol] -= lastKoef*matrix[i][nextCol];
            }
            ++j;
            checkKoefIsNull=false;
        }
        else
        {
            for(int k=0; k<fullCol; k++)
                std::swap(matrix[i][k],matrix[length-1][k]);
            --i;
            koef *= -1;
            if(checkKoefIsNull)
            {
                ++i;
                koef = 0;
            }
            checkKoefIsNull = true;
        }
    }

        return koef;
}


void slau_funct(std::vector< std::vector<double> >& sl_matrix, std::vector<double>& lf, std::vector<double>& lx)
{   //function find x1,x2,...xn in s.l.a.u. 
    int n = lx.size();
    int l = n - 1;
    int j;
    int m;
    double sum;
    lx[l] = lf[l] / sl_matrix[l][l];     // *****slau_matrix * line_x = line_f*****
    for(m = l-1; m > -1; m--)    
    {
      sum = 0;
         for(j = m+1; j < n; j++) 
         {  
          sum = sum + (sl_matrix[m][j] * lx[j]);   
         }
    
      lx[m] = ( 1 /  sl_matrix[m][m]  ) * ( lf[m]  -  sum );
    }
}
Спасибо всем откликнувшимся.

Вернуться к обсуждению:
STL,Поиск определителя и решение с.л.а.у.,WxDev-C++7.3.1.3 C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2011, 20:02
Готовые ответы и решения:

Нахождение определителя квадратной матрицы (готовое решение)
Всем привет!Я искал способ написания кода для нахождения определителя квадратной матрицы. На форуме...

Поиск определителя матрицы
Народ, помогите, пожалуйста, как написать код по нахождению определителя? Через рекурсию? И вообще...

Поиск определителя матрицы
Нужно написать программу для нахождения определителя матрицы. Матрица не более 10*10 (размер...

найти общее решение дифференциального уравнения (редактировать уже имеющееся) . без применения определителя вронского
(1+x3)y3*dx-(y2-1)x3*dy=0

4
19.03.2011, 20:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2011, 20:02
Помогаю со студенческими работами здесь

Поиск в STL
Здравствуйте) Вот пытаюсь совершить поиск в контейнере вектор спомощью find. Написал функтор, ищу...

stl сортировка,поиск
Как правильно сортировать Multiset&lt;char&gt; A Queue&lt;char&gt; B Напишите плз для каждого по 2...

Есть-ли поиск по полю в STL?
Писал программу. Дана структура. Надо реализовать ввод/вывод/сортировку по зарплате и по...

List STL сортировка и поиск
Ребят, прошу помощи. Перерыл весь инет, нашёл кучу ссылок, пытался сделать поиск и сортировку, ни...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru