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

Перевести код с Паскаля на С++ (решение системы уравнений методом Зейделя) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с модулями элементов массива http://www.cyberforum.ru/cpp-beginners/thread1113431.html
Здравствуйте, мне нужна ваша помошь, вот есть данная задача, но ее нужно сделать с помощью указателя, а как это сделать я не пойму( Поможете ? В одномерном массиве, состоящем из n действительных элементов, вычислить: • номер минимального по модулю элемента массива; • сумму модулей элементов массива, расположенных после первого отрицательного элемента. Сжимать массив, удалив из него...
C++ Имя запущенного файла Вопрос: можно ли определить имя запущенного файла из этого же файла? То есть фай должен сам узнать своё же имя. Подскажите как это сделать средствами С++? http://www.cyberforum.ru/cpp-beginners/thread1113420.html
C++ Зависимости в решении
Подскажите, пожалуйста, как убрать зависимости между проектами в решении. В свойствах решения, или проектов (Зависимости проектов), снять галку не получается, пишет:"Эта зависимость добавлена системой проектов и не может быть удалена". 10-я студия, Express.
Программа виснет при переходе в функцию function C++
#include <iostream> using namespace std; void function(char * string) { while(*string) { cout<<*string; *string++; }
C++ Как создать свой поток и связать его с консолью http://www.cyberforum.ru/cpp-beginners/thread1113329.html
Собственно возник такой вопрос: читаю Саттера пробую создать свой класс символов не чувствительный к регистру. Автор пишет, что для вывода на консоль требуется использовать поток со своим типом сравнения символов. В классе basic_string определен оператор: template<typename _CharT, typename _Traits, typename _Alloc> basic_ostream<_CharT, _Traits>& operator<<(basic_ostream<_CharT,...
C++ Определить количество студентов, у которых средний балл превышает заданное пользователем значени Во всех задачах записи (не менее 5) вводятся с клавиатуры, записываются в файл и выводятся на экран. Затем пользователь вводит параметры запроса и получает ответ на него. Составить программу, выводящую на экран студенческую ведомость (Ф. И. О., оценки за три экзамена, средний балл). Определить количество студентов, у которых средний балл превышает заданное пользователем значение. подробнее

Показать сообщение отдельно
dogg12
 Аватар для dogg12
57 / 23 / 5
Регистрация: 21.02.2011
Сообщений: 505
07.03.2014, 14:05     Перевести код с Паскаля на С++ (решение системы уравнений методом Зейделя)
Pascal
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
uses crt;
const a: array [1..3] of real = (-5,2,1);
      b: array [1..3] of real = (1,5,2);
      c: array [1..3] of real = (1,-1,4);
      f: array [1..3] of real = (-3,6,7);
 
var  i,k,m: integer;
     e: real;
     x1,x2,x3,max: array [0..20] of real;
     b1,c1,f1: array [1..3] of real;
  {   a,b,c,f: array [1..3] of real;   }
     a2,b2,c2,f2: real;
 {Если нужен ручной ввод (убрать массивы констант
  и раскомментировать строки}
 
 }
begin
 clrscr;
{ writeln('Ввод коэффициентов:');
 for i:=1 to 3 do
  begin
   write('a[',i,'] = ');
   readln(a[i]);
   write('b[',i,'] = ');
   readln(b[i]);
   write('c[',i,'] = ');
   readln(c[i]);
   write('f[',i,'] = ');
   readln(f[i]);
  end;  }
 writeln('Введите точность: ');
 readln(e);
 writeln(a[1],'*x1 + ',b[1],'*x2 + ',c[1],'*x3 = ',f[1]);
 writeln(a[2],'*x1 + ',b[2],'*x2 + ',c[2],'*x3 = ',f[2]);
 writeln(a[3],'*x1 + ',b[3],'*x2 + ',c[3],'*x3 = ',f[3]);
 x1[0]:=0;
 x2[0]:=0;
 x3[0]:=0;
 for i:=1 to 3 do
  begin
   if i=1 then
    begin
     b1[i]:=(b[i]/a[i]);
     c1[i]:=(c[i]/a[i]);
     f1[i]:=(f[i]/a[i]);
    end;
   if i=2 then
    begin
     b1[i]:=(a[i]/b[i]);
     c1[i]:=(c[i]/b[i]);
     f1[i]:=(f[i]/b[i]);
    end;
   if i=3 then
    begin
     b1[i]:=(a[i]/c[i]);
     c1[i]:=(b[i]/c[i]);
     f1[i]:=(f[i]/c[i]);
    end;
  end;
 i:=0;
 repeat
   x1[k+1]:=-x2[k]*b1[1]-x3[k]*c1[1]+f1[1];
   x2[k+1]:=-x1[k+1]*b1[2]-x3[k]*c1[2]+f1[2];
   x3[k+1]:=-x1[k+1]*b1[3]-x2[k+1]*c1[3]+f1[3];
   max[0]:=abs(x1[k+1]-x1[k]);
   max[1]:=abs(x2[k+1]-x2[k]);
   max[2]:=abs(x3[k+1]-x3[k]);
   m:=i;
   for i:=0 to 2 do
    if max[i]>max[m] then
     m:=i;
   inc(k);
 until max[m]<e;
 writeln('x[1] = ',x1[k]:3:3);
 writeln('x[2] = ',x2[k]:3:3);
 writeln('x[3] = ',x3[k]:3:3);
 writeln('Итераций: ',k);
 readln;
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru