Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 15:55     вывести результаты решения СЛАУ в виде таблицы ( графические функции) #1
Ребят помогите пожалуйста, есть полностью рабочий и компилирующийся код для решения слау методом гаусса
но решение необходимо представить в виде таблицы
помогите пожалуйста!

Добавлено через 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 секунд
вверх
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2013, 15:55     вывести результаты решения СЛАУ в виде таблицы ( графические функции)
Посмотрите здесь:

C++ Вычислить и вывести на экран в виде таблицы значения функции
Как вывести результаты расчёта в виде таблицы? C++
Вывести на экран в виде таблицы значения функции F C++
C++ Вычислить и вывести на экран в виде таблицы значения функции
C++ Вывести на экран в виде таблицы значения функции
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1787
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
23.01.2013, 15:55     вывести результаты решения СЛАУ в виде таблицы ( графические функции) #2
А выложить его можно,
на кофейной гуще как-то гадать не хочется....
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 15:58  [ТС]     вывести результаты решения СЛАУ в виде таблицы ( графические функции) #3
код я прикрепил к сообщению, посмотрите!
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1787
Регистрация: 18.12.2011
Сообщений: 14,196
Завершенные тесты: 1
23.01.2013, 15:59     вывести результаты решения СЛАУ в виде таблицы ( графические функции) #4
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
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 16:07  [ТС]     вывести результаты решения СЛАУ в виде таблицы ( графические функции) #5
спасибо большое, но тут немного вы не поняли, мне нужно вот в таком виде как на этой картиночке, скажите возможно это или нет?я просто не могу сообразить как это сделать
Миниатюры
вывести результаты решения СЛАУ в виде таблицы ( графические функции)  
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 17:25  [ТС]     вывести результаты решения СЛАУ в виде таблицы ( графические функции) #6
вверх

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

Добавлено через 26 минут
вверх
coloc
погромист
 Аватар для coloc
409 / 245 / 15
Регистрация: 27.08.2012
Сообщений: 550
Завершенные тесты: 1
23.01.2013, 20:26     вывести результаты решения СЛАУ в виде таблицы ( графические функции) #9
Вот, рисует рамку, надеюсь дальше сами сможете разобраться
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2013, 20:36     вывести результаты решения СЛАУ в виде таблицы ( графические функции)
Еще ссылки по теме:

Вычислить и вывести в виде таблицы значение функции F C++
Вывести в виде таблицы значения функции C++
C++ C++ вывести на экран в виде таблицы значения функции

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

Или воспользуйтесь поиском по форуму:
Максим1827
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 64
23.01.2013, 20:36  [ТС]     вывести результаты решения СЛАУ в виде таблицы ( графические функции) #10
Спасибо большое, за потраченное время и помощь, но все же это немного не то!
для моего случая открывается специальная библиотека 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);
}
Yandex
Объявления
23.01.2013, 20:36     вывести результаты решения СЛАУ в виде таблицы ( графические функции)
Ответ Создать тему
Опции темы

Текущее время: 15:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru