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

Вывести результаты решения СЛАУ в виде таблицы (графические функции)

23.01.2013, 15:55. Показов 1653. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят помогите пожалуйста, есть полностью рабочий и компилирующийся код для решения слау методом гаусса
но решение необходимо представить в виде таблицы
помогите пожалуйста!

Добавлено через 27 минут
вверх

Добавлено через 3 минуты
вверх

Добавлено через 3 минуты
вверх

Добавлено через 4 минуты
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <stdio.h>
#include <conio.h>
#include <math.h>
main()
{
  clrscr();
 
  float a[50][51], x[50], t;
  int i, j, k, m, n;
 
 
  n=3; m=n+1;                                                //razmernost`
  a[0][0]= 1; a[0][1]= -2; a[0][2]=1; a[0][3]= 5.7;
  a[1][0]= 3.1; a[1][1]=0; a[1][2]=-1; a[1][3]=1.8;
  a[2][0]= 0; a[2][1]= 1; a[2][2]= -3.4; a[2][3]= -3.3;
 
  printf("ishodnaya matrica \n \n");
  for (j = 0; j < n; j++)                        //vivod matrici
  {
    for (i = 0; i < m; i++)
      printf("%6.2f\t", a[j][i]);                 
    printf("\n");
    x[j] = 0;
  }
 
  for (j = 0; j < n; j++)                           //opredelyaem kol-vo resheniy
    if (a[j][i] == 0)
    {
      k = j;
      while ((a[k+1][j] == 0) && (k < n))
    k++;
      if (a[k+1][j] != 0)
    for (i = 0; i < m; i++)
    {
      t = a[j][i];
      a[j][i] = a[k+1][i];
      a[k+1][i] = t;
    }
      else
    printf("CLAY imeet mnojestvo resheniy");
    }
 
  for (k = 0; k < n - 1; k++)
    for (j = k + 1; j < n; j++)
    {
      if (a[k][k] !=0)
      {
    t = a[j][k] / a[k][k];
    for (i = 0; i < n + 1; i++)
      a[j][i] = a[k][i] * t - a[j][i];
      }
      else
    printf("CLAY ne imeet resheniy");
    }
 
  printf("\n Matrica privedennaya k treyg. vidy:\n\n");
 
  for (j = 0; j < n; j++)                //prevedenie matrici k treyg. vidy
  {
    for (i = 0; i < n + 1; i++)
      printf("%6.2f\t", a[j][i]);      //vivod treyg. matrici
    printf("\n");
  }
 
  for (j = n - 1 ; j >= 0; j--)         //podschet korney
  {
    t = a[j][n];
    for (i = j + 1; i < n; i++)
      t= t - a[j][i] * x[i];
    x[j] = t / a[j][j];
  }
 
  printf("\n korni CLAY:\n\n");
 
  for (i = 0; i < n; i++)
    printf("x%d = %6.2f\n", i, x[i]);      //vivod korney
 
  getch();
  return 0;
}
Добавлено через 7 секунд
вверх
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.01.2013, 15:55
Ответы с готовыми решениями:

Составить схему алгоритма и программу решения задачи с использованием подпрограмм. Результаты вывести в виде таблицы
Задание 3 Составить схему алгоритма и программу решения задачи с использованием подпрограмм. Результаты вывести в виде таблицы , в...

Рассчитать значение функции и вывести результаты в виде таблицы
Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) с точностью ε . Вывести число итераций, необходимое для...

Результаты вычислений вывести в виде таблицы с заголовком
Задание 1!!!!:Результаты вычислений вывести в виде таблицы с заголовком. Вычисленные значения ряда сравнить со значением функции f=e. ...

9
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,238
23.01.2013, 15:55
А выложить его можно,
на кофейной гуще как-то гадать не хочется....
0
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 15:58  [ТС]
код я прикрепил к сообщению, посмотрите!
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,238
23.01.2013, 15:59
C++
1
2
3
4
5
6
 printf("\n korni CLAY:\n\n ## kornya ");
  for (i = 0; i < n; i++)
   printf("%6d", i);
  printf("\n korni    "); 
  for (i = 0; i < n; i++)
    printf("%6.2f", x[i]);      //vivod korney
1
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 16:07  [ТС]
спасибо большое, но тут немного вы не поняли, мне нужно вот в таком виде как на этой картиночке, скажите возможно это или нет?я просто не могу сообразить как это сделать
Миниатюры
Вывести результаты решения СЛАУ в виде таблицы (графические функции)  
0
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 17:25  [ТС]
вверх

Добавлено через 58 минут
вверх
0
 Аватар для PqDn
2 / 2 / 0
Регистрация: 04.02.2012
Сообщений: 13
23.01.2013, 17:29
Цитата Сообщение от Максим1827 Посмотреть сообщение
спасибо большое, но тут немного вы не поняли, мне нужно вот в таком виде как на этой картиночке, скажите возможно это или нет?я просто не могу сообразить как это сделать
До это и не графика вовсе, погугли что такое псевдо графика - увидишь что во всех консольных кодировках есть символы палочкек, плюсиков, уголков, при печати которых их края сливаются... Вот и все...
1
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 18:00  [ТС]
спасибо за ответ, PqDn, но меня теория интересует меньше чем практика, ты думаешь я не читал в интернете как это сделать и что это такое?
извиняюсь если использую некорректные термины!
но меня интересует как будет выглядеть код позволяющий отображать решение СЛАУ именно в таком виде, код программы для решения слау в начале темы, если можете помочь, помогите!

Добавлено через 26 минут
вверх
0
погромист
 Аватар для coloc
415 / 251 / 30
Регистрация: 27.08.2012
Сообщений: 550
23.01.2013, 20:26
Вот, рисует рамку, надеюсь дальше сами сможете разобраться
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
#include <iostream>
#include <windows.h>
 
int main () {
 
const int width = 20;
const int height = 15;
const char up1 = 201, up2 = 187; 
const char down1 = 200, down2 = 188;   
const char vertical = 186, horizontal = 205; 
 
system ("color 6");
 
std::cout << up1;
    
for (int i = 0; i < width; i++)
    std::cout << horizontal;
 
 
std::cout << up2;
std::cout << std::endl;
 
for (int i = 0; i < height; i++) {
    std::cout << vertical;
    for (int j = 0; j < width; j++) {
        std::cout << " ";
    }
    std::cout << vertical;
    std::cout << std::endl;
}
 
std::cout << down1;
 
for (int i = 0; i < width; i++)
    std::cout << horizontal;
    
std::cout << down2;
 
return 0;
}
1
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 20:36  [ТС]
Спасибо большое, за потраченное время и помощь, но все же это немного не то!
для моего случая открывается специальная библиотека graphics.h
и код выглядит примерно так, вот тут решается диф. уравнение методом эйлера и рунге-кута а мне нужно решить слау методом гаусса и чтобы выводилось также, код по гауссу в начале темы, а вот пример:
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <graphics.h>
#define h 0.05 //Шаг интервала
#define xk 2 //Конечное значение интервала
#define PATHTODRIVER "c:\\tc\\bgi\\" //Загрузка графического драйвера
//Объявление функций
void init_graph();
void display();
float equation(float x, float y); 
float eiler(float x, float y); 
float runge_kutt(float x, float y);
using namespace std;
int main(int argc, char *argv[])
{float x1,y1,x2,y2; //Объявление переменных
char msg [3], msg1 [6];
init_graph(); //Включение графического режима
display(); 
setcolor(14); //Установление цвета текста
//Задание начальных условий
x1=1;
y1=1;
//Решение методом Эйлера
  while (x1<xk)
 {
     x2=x1+h;
     y2=eiler(x1,y1);
     sprintf(msg, "%1.2f", x1);
     sprintf(msg1, "%1.4f", y1);
     outtextxy(25,int(x1/h)*18-280, msg);     /*Вывод результатов вычислений 
     outtextxy(100,int(x1/h)*18-280, msg1);   на экран*/
     x1=x2;
     y1=y2;
}
 x1=1;
 y1=1;
//Решение методом Рунге-Кутта
while (x1<xk)
  {
    x2=x1+h;
    y2=runge_kutt(x1,y1);
    sprintf(msg, "%1.2f", x1);
    sprintf(msg1, "%1.4f", y1);
    outtextxy(290,int(x1/h)*18-280, msg);    /*Вывод результатов вычислений
    outtextxy(375,int(x1/h)*18-280, msg1);  на экран*/
     x1=x2;
     y1=y2; }
    getch();    //Задержка экрана
    closegraph ();  //Завершение графического режима        
}
//Определение функций
//Функция вычисления значения функции f(x,y)
float equation(float x, float y)
{
return exp(x+y)+2*x;
}
//Функция вычисления по методу Эйлера
float eiler(float x, float y)
{
return y+equation(x,y)*h;
}
//Функция вычисления по методу Рунге-Кутта
float runge_kutt(float x, float y)
{
 float a=equation(x,y)*h;
 float b=equation(x+h/2.0, y+a/2.0)*h;
 float c=equation(x+h, y+b*2.0-a)*h;
 return y+(a+4*b+c)/6.0; 
}
//Функция инициализации графического интерфейса
void init_graph()
{
int gdriver = DETECT, gmode, errorcode; //Драйвер, режим, код ошибки
    initgraph(&gdriver, &gmode, PATHTODRIVER);
    errorcode = graphresult();
 //Ошибка инициализации графического режима
    if (errorcode != grOk)
    {
        printf("Graphics error: %s\n", grapherrormsg(errorcode));
        printf("Press any key to halt:");
        getch();
        exit(1);
          }
}
//Функция построения статических элементов экрана
void display()
{ //Вывод на экран текстовой информации
   outtextxy(10,5,"    Metod Eilera");
   outtextxy(15,35,"       X");
   outtextxy(70,35,"            Y");
   outtextxy(300,5,"    Metod Runge-Kytta");
   outtextxy(280,35,"       X");
   outtextxy(335,35,"              Y");
  //Построение таблицы
   line (10,30,180,30);
   line (10,55,180,55);
   line (10,445,180,445);
   line (10,30,10,445);
   line (180,30,180,445);
   line (75,30,75,445);
   line (280,30,450,30);
   line (280,55,450,55);
   line (280,445,450,445);
   line (280,30,280,445);
   line (450,30,450,445);
   line (346,30,346,445);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.01.2013, 20:36
Помогаю со студенческими работами здесь

Как вывести результаты расчёта в виде таблицы?
Уважаемые, программисты! Подскажите, пожалуйста, как реализовать в программе вывод в виде таблицы значений скорости, пути, ускорения при...

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

Вычислить значения функции и вывести результаты в виде графика
помогите пожалуйста выполнить задание, очень нужна помощь вычислить значения функции и вывести результаты в виде графика: y=sinx,...

Вычислить и вывести на экран в виде таблицы значения функции ln(x), заданной в виде ряда Тейлора
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от хнач до xкон с...

Вывести в виде таблицы значения функции
Решите пожалусйта Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX. ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru