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

Написать программу для вычисления СЛАУ методом простой итерации с использованием динамических массивов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построить таблицу истинности http://www.cyberforum.ru/cpp-beginners/thread1143829.html
Здравствуйте! В принципе задача фигня, единственное с чем у меня загвоздка, это в том что в выражении могут быть скобки, следовательно считать все по очереди нельзя, может есть у кого как распарсить строку со скобками?
C++ Посодействуйте в доработке программы с функциями-шаблонами Для работы с двумерными массивами арифметических типов данных разработать шаблоны ввода и вывода массива, а также шаблон для решения задачи: - Подсчитать количество элементов, не попадающих в заданный интервал Есть наработки, шаблоны ввода и вывода вроде получились, и как сделать саму задачу понимаю, но как решить задачу с помощью шаблонов? Подскажите, пожалуйста. #include... http://www.cyberforum.ru/cpp-beginners/thread1143820.html
Существует ли генератор кода С++? C++
Всем привет! Стало интересно следующее: существует ли генератор кода для С++? То есть я соединяю некие концепции какими-нибудь стрелочками, определяя их взаимосвязи, нажимаю кнопочку и генерируется код на С++... :) И чтобы не интерфейс (как встроенная визуал студия), а программные модули. Есть ли такое?
Решение диф уравнений 2-ого порядка C++
Какие есть алгоритмы для решения диф уравнений 2-ого порядка, программно разумеется. И еще надо чтобы алгоритм поддавался распараллеливанию с помощью openMP. А то в гугле ни одного примера найти не смог...
C++ Перегрузка оператора << http://www.cyberforum.ru/cpp-beginners/thread1143803.html
Доброе время суток! Возникло осложнение с лабой. Нужно перегрузить оператор << так, чтобы при помощи него можно было копировать информацию с одного потока, в другой, связанных с файлом.С чего начать, подскажите? Класс здесь же не нужно создавать, так? просто функцию перед мейном написать
C++ Посоветуйте литературу Здравствуйте, пользователи cyberforum.ru. Искал в интернете вообщем не нашел. Вопрос, дайте мне сборник литературы, чтобы я мог выучить язык программирования, и писал на нем, как говорил на русском. Почитал, что нужно читать, Бьерна Страуструпа. А дальше C++0x и Boost. Ну вообщем, дайте мне сборник литературы. подробнее

Показать сообщение отдельно
aiwprton805
 Аватар для aiwprton805
64 / 64 / 23
Регистрация: 30.03.2013
Сообщений: 178
Завершенные тесты: 1
11.04.2014, 17:18     Написать программу для вычисления СЛАУ методом простой итерации с использованием динамических массивов
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
//////////////////////////////////////////////////////////////////////////////
//
//  Solving system of linear equations (iterations method)
//  (c) Johna Smith, 1996
//
//  Method description:
//  This program automatically transforms system of equations to
//  iterative form and solves it.
//  Iterative form:
//     x1=a11*x1+a12*x2+... + a1n*xn+b1
//     x2=a21*x1+a22*x2+... + a2n*xn+b2
//     ...
//     xn=an1*x1+an2*x2+... + ann*xn+bn
//  Setting first iteration of vector X we can get next iteration from
//  such form of system of equations. Iterations will be finished when
//  difference between two consequitive iterations will be less than epsilon
//
//////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include <math.h>
#define N      3     // size of matrix
#define N1     N+1
float matrix[N][N1]=
    {{14.38,-2.41,1.39,5.86},
  {1.84,25.36,-3.31,-2.28},
  {2.46,-3.49,16.37,4.47}
    };
int maxiterations=10;  // maximum number of iterations
float epsilon=0.0001;  // required accuracy
void ShowMatrix(void)
{
  for (int i=0;i<N;i++)
  {
    for (int j=0;j<N;j++)
      printf("%+f*x%d",matrix[i][j],i+1);
    printf("=%f\n",matrix[i][N]);
  }
}
void main(void)
{
  // Variables declaration
  float x[N],y[N],t;
  register short int i,j,k;
  int iterations=0;
  // Printing given matrix
  ShowMatrix();
  // setting first iteration of vector X
  for (i=0;i<N;i++) x[i]=matrix[i][N];
  do
  {
    for (i=0;i<N;i++)
    {
      t=-matrix[i][N];
      for (j=0;j<N;j++)
        t+=matrix[i][j]*x[j];
        y[i]=(-t+matrix[i][i]*x[i])/matrix[i][i];
    }
    iterations++;
    k=0;
    // checking solution
    while (fabs(x[k]-y[k])<epsilon && k<N) k++;
    // new iteration becomes old
    for(i=0;i<N;i++) x[i]=y[i];
  } while (k!=N && iterations<maxiterations);
  if (iterations==maxiterations)
  {
    printf("Iterations are very slow...");
  } else
  {
    // Printing solution
    printf("\nSolution:\n");
    for (i=0;i<N;i++)
      printf("x%d=%f\n",i+1,x[i]);
    printf("%d iterations were made",iterations);
  }
}
 
Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru