Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 23

Выполнить подсчет количества строк в СЛАУ после преобразования

06.07.2018, 15:45. Показов 810. Ответов 1

Студворк — интернет-сервис помощи студентам
Помогите! Я вообще не программист и плохо разбираюсь. У меня решение слау методом Гаусса. МНЕ нужно совершить подсчет строк и столбцов и в конце создать условие, по-видимому, которая указывает, что если количество полученных строк(уравнений)меньше чем переменных, то получается бесконечное множество решений. Написать условие. Вот код к задаче:
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
#include<stdio.h> 
#include<iostream> 
using namespace std;
int main()
{setlocale (LC_ALL, "Rus"); 
int n, i, j; 
double d, s;
printf("Введите размер матрицы n="); //ввод
scanf("%d",&n); //вывод
double **a = new double *[n];
for (i = 0; i <= n; i++)
a[i] = new double [n];
double *b = new double [n];
double *x = new double [n]; 
//заполняем матрицу:
printf("Элементы расширенной матрицы\n ");
for (i = 1; i <= n; i++)
{for (j = 1; j <= n; j++)
{printf("Введите %d элемент %d строки=", i,j);
cin >> a[i][j];} //заполненяем основную матрицу
printf("Введите элемент %d столбца= ", i);
cin >> b[i];} //заполняем матрицу со свободными членами
for (int k = 1; k <= n; k++) 
{for (j = k + 1; j <= n; j++)
{ d = a[j][k] / a[k][k]; 
for (i = k; i <= n; i++)
{a[j][i] = a[j][i] - d*a[k][i]; }
b[j] = b[j] - d*b[k];}
}
 
for (int k = n; k >= 1; k--) // обратный ход - определение неизвестных
{d = 0;
for (j = k + 1; j <= n; j++)
{ s = a[k][j] * x[j]; 
d = d + s; }
x[k] = (b[k] - d) / a[k][k]; }
 
//ЗДЕСЬ СОСЧИТАТЬ КОЛИЧЕСТВО СТРОК
 
 
// написать условие
 
printf( "Корни СЛАУ методом Гаусса:\n "); //решение системы линейных алгебраических уравнений методом Гаусса
for( i = 1; i <= n; i++)
printf("%f\n",x[i]);
system("pause");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.07.2018, 15:45
Ответы с готовыми решениями:

Подсчет количества строк в файле в С++ (fstream)
Добрый день! Для подсчета строк в файле до сего момента использовал С'шные функции. Пожалуйста, подскажите, как это можно сделать,...

подсчет количества заданных строк в выбранном файле
скажите, мне требуется реализовать: 1. &quot;подсчет количества заданных строк в выбранном файле, каждая строка ищется отдельным...

Подсчет количества строк файла, начинающихся и заканчивающихся одной буквой
Написать программу для подсчета количества строк текстового файла, на- чинающихся и оканчивающихся одной и той же литерой. Ввод-вывод...

1
0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 23
06.07.2018, 19:19  [ТС]
В общем, мне нужно сосчитать количество уравнений после различных элементарных преобразований в методе Гаусса, и написать условие, о том сколько решений выходит. Если единственное, она должна показать корни, если множество решений сообщить об этом, если нет решений тоже написать об этом в программе и вывелось на экран. Мне сказали как-то это делается с помощью подсчета количества уравнений, а как сосчитать понятия не имею. Помогите прошу!!!
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
#include<stdio.h> 
#include<iostream> 
using namespace std;
int main()
{setlocale (LC_ALL, "Rus"); 
int n, i, j, k; 
float d; 
printf("Введите размер матрицы n = "); //ввод порядка матрицы
scanf("%d",&n); //вывод
double **a = new double *[n];//объявление двумерного массива, задаем имя двумерному массиву
for (i = 0; i <= n; i++)
a[i] = new double [n];
double *b = new double [n];//обявление одномерного массива, задаем имя массиву
double *x = new double [n]; //обявление одномерного массива
//заполняем матрицу:
printf("Элементы расширенной матрицы\n ");
for (i = 1; i <= n; i++)
{for (j = 1; j <= n; j++)
{printf("Введите %d элемент %d строки = ", j,i);
cin >> a[i][j];} //заполненяем основную матрицу
printf("Введите элемент %d столбца свободных членов = ", i);
cin >> b[i];} //заполняем матрицу со свободными членами
printf("Вывод матрицы\n");
for( int i=1; i<=n; i++) //вывод введенной матрицы 
{ for(j=1; j<=n; j++)
{cout<<a[i][j]<<" ";}
cout<<endl;}
 
//прямой ход предполагает последовательное исключение неизвестных из уравнения системы, начиная с 1-го, по представленным ниже формулам
for (int k=1; k<=n; k++) // прямой ход заключается в том, чтобы привести матрицу к трапециевидной, где k-номер цикла-номер столбца
{for (j =k+1; j<=n; j++)
{ d = a[j][k]/a[k][k]; 
for (i=k; i<=n; i++)
{a[j][i] = a[j][i]-d*a[k][i]; }
b[j] = b[j] - d*b[k];
}
} 
//обратный ход - последовательное нахождение значений неизвестных начиная с последнего уравнения
for (int k=n; k>=1; k--) // обратный ход - определение неизвестных
{double s = 0;
for (j = k + 1; j <= n; j++)
{s+= a[k][j] * x[j];}
x[k] = (b[k] - s) / a[k][k]; }
 
 
 
 
 
 
{printf("Слау имеет бесконечно много решений "); return 0;}}
 
 
 
for (i=1; i<=n; i++)
{printf( "Корни СЛАУ методом Гаусса:\n "); //решение системы линейных алгебраических уравнений методом Гаусса
for(i=1; i<=n; i++)
cout << "x[" << i << "]=" << x[i] << endl;
system("pause");}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.07.2018, 19:19
Помогаю со студенческими работами здесь

Предусмотреть подсчет общего количества перестановок и вывод промежуточного массива после каждого цикла сортировки
Нужно предусмотреть подсчет общего количества перестановок и вывод промежуточного массива после каждого цикла сортировки (чтобы отследить...

Подсчет количества строк
Есть текстовой файл (исходный код).Необходимо подсчитать количество строк без пробелов и комментариев. Количество строк я считаю так: ...

Подсчет количества строк
Помогите пожалуйста исправить код запроса чтобы он правильно работал. Формулировка запроса: получить перечень и общее число покупателей,...

Подсчет количества строк
Здравствуйте, уважаемые форумчане. Стоит следующая проблема. Существует таблица выводимая из MySQL в виде таблицы. Также существует...

Разработать и выполнить командный файл (КФ), выполняющий подсчет количества целых чисел в текстовом файле
Разработать и выполнить командный файл (КФ), выполняющий подсчет количества целых чисел в текстовом файле. Считать, что слова в файле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru