hasanovratmir3
26.01.2023 21:52

с информатикой.
Надо решить с циклов.


с информатикой. Надо решить с циклов.
с информатикой. Надо решить с циклов.
с информатикой. Надо решить с циклов.
с информатикой. Надо решить с циклов.
с информатикой. Надо решить с циклов.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
maksimka39
03.01.2022 10:06

В зависимости от контекста, области видимости и языка (некоторые языки не учитывают регистр символа (строчная/заглавная буква), некоторые учитывают), переменные sum и Sum могут являться как одной и той же переменной, так и разными переменными. А в некоторых языках, например, в Python, sum([iterable]) - встроенная функция, выполняющая сложение всех элементов переданной ей последовательности. Вопрос некорректен. ответ можно дать относительно двух языков, нынче популярных в школах:

PascalABC.NET: Переменные sum и Sum по факту являются одной и той же переменной.

Python: sum и Sum являются двумя разными именами, одно из которых может быть переменной, а второе - имя встроенной функции стандартной библиотеки.

Постарайтесь впредь задавать более конкретные вопросы, которые трудно интерпретировать "не так, как нас учили"

0,0(0 оценок)
Ответ:
ttttt19
31.08.2022 11:39

#include "stdafx.h"

#include "iostream"

#include "vector"

#include "cmath"

#include "locale.h"

using namespace std;

int main()

{

   // Считываем размер вводимой матрицы

   setlocale(LC_ALL, "rus");

   int size;

   cout << "Введите размер вводимой матрицы: ";

   cin >> size;

   cout << endl;

   

   // Будем хранить матрицу в векторе, состоящем из

   // векторов вещественных чисел

   vector <vector <long double> > matrix;

   

   // Матрица будет иметь размер (size) x (size + 1),

   // c учетом столбца свободных членов    

   matrix.resize (size);

   cout << "Введите элементы матрицы " << size << "x" << size+1 <<":" <<endl;

   for (int i = 0; i < size; i++)

   {

       matrix[i].resize (size + 1);

       for (int j = 0; j < size + 1; j++)

       {

           cin >> matrix[i][j];

       }

   }

   // Считываем необходимую точность решения

   long double eps;

   cout << endl;

   cout << "Введите точность решения: ";

   cin >> eps;

   // Введем вектор значений неизвестных на предыдущей итерации,

   // размер которого равен числу строк в матрице, т.е. size,

   // причем согласно методу изначально заполняем его нулями

   vector <long double> previousVariableValues (size, 0.0);

   // Будем выполнять итерационный процесс до тех пор,

   // пока не будет достигнута необходимая точность    

   while (true)

   {

       // Введем вектор значений неизвестных на текущем шаге      

       vector <long double> currentVariableValues (size);

       // Посчитаем значения неизвестных на текущей итерации

       // в соответствии с теоретическими формулами

       for (int i = 0; i < size; i++)

       {

           // Инициализируем i-ую неизвестную значением

           // свободного члена i-ой строки матрицы

           currentVariableValues[i] = matrix[i][size];

           // Вычитаем сумму по всем отличным от i-ой неизвестным

           for (int j = 0; j < size; j++)

           {

               if (i != j)

               {

                   currentVariableValues[i] -= matrix[i][j] * previousVariableValues[j];

               }

           }

           // Делим на коэффициент при i-ой неизвестной

           currentVariableValues[i] /= matrix[i][i];

       }

       // Посчитаем текущую погрешность относительно предыдущей итерации

       long double error = 0.0;

       

       for (int i = 0; i < size; i++)

       {

           error += abs (currentVariableValues[i] - previousVariableValues[i]);

       }

       // Если необходимая точность достигнута, то завершаем процесс

       if (error < eps)

       {

           break;

       }

       // Переходим к следующей итерации, так

       // что текущие значения неизвестных

       // становятся значениями на предыдущей итерации

       previousVariableValues = currentVariableValues;

   }

   // Выводим найденные значения неизвестных с 8 знаками точности

   for (int i = 0; i < size; i++)

   {

       printf ("%.8llf ", previousVariableValues[i]);

   }

   cout << endl;

   system("pause");

   return 0;  

}

Объяснение:

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота