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

Переделать из С в С++ - C++

Восстановить пароль Регистрация
 
Alex_fuse
2 / 2 / 2
Регистрация: 27.11.2012
Сообщений: 40
08.04.2013, 16:37     Переделать из С в С++ #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
48
#include <stdio.h>
#include <locale.h>
#include <conio.h>
void slau_3(double [][3], double *, unsigned);
double determinant(double [][3]);
int main () {
    double matrix[3][3], vector[3];
    unsigned n, k;
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    for (n = 0; n < 3; n++) {
        k = n + 1;
        printf("Введите через пробел: a%d%dx1 + a%d%dx2 + a%d%dx3 = b%d : ", k, k, k, k + 1, k, k + 2, k);
        scanf("%Lf%Lf%Lf%Lf", &matrix[n][0], &matrix[n][1], &matrix[n][2], &vector[n]);
    }
    slau_3(matrix, vector, 3);
    _getch();
    return 0;
}
void slau_3(double a[][3], double * b, unsigned n) {
    double det[4], temp[3][3], x1, x2, x3;
    unsigned k, r, c;
    for (k = 0; k <= n; k++) {
        if (!k)
            for (r = 0; r < n; r++)
                for (c = 0; c < n; c++)
                    temp[r][c] = a[r][c];
        else
            for (c = 0; c < n; c++)
                for (r = 0; r < n; r++)
                    if (k - 1 == c) temp[r][c] = b[r];
                    else temp[r][c] = a[r][с];
        det[k] = determinant(temp);
    }
    if (det[0]) {
        x1 = det[1] / det[0];
        x2 = det[2] / det[0];
        x3 = det[3] / det[0];
        printf("\nx1 = %Lf\nx2 = %Lf\nx3 = %Lf\n", x1, x2, x3);
    } else printf("\n\aМного корней, система несовместная!");
}
double determinant(double a[][3]) {
    return a[0][0] * a[1][1] * a[2][2] +
           a[0][1] * a[1][2] * a[2][0] +
           a[1][0] * a[2][1] * a[0][2] -
           a[0][2] * a[1][1] * a[2][0] -
           a[0][1] * a[1][0] * a[2][2] -
           a[1][2] * a[2][1] * a[0][0];
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2013, 16:37     Переделать из С в С++
Посмотрите здесь:

Переделать из С++ в С C++
C++ Переделать массив.
надо переделать C++
Переделать из С++ в С C++
C++ переделать из С в с++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VEINHORN
542 / 91 / 22
Регистрация: 16.12.2011
Сообщений: 317
09.04.2013, 17:44     Переделать из С в С++ #2
Вам нужно переделать только ввод-вывод.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
09.04.2013, 17:54     Переделать из С в С++ #3
Какие конкретные претензии к коду? Ввод-вывод через printf/scanf или что-то ещё не устраивает?
Alex_fuse
2 / 2 / 2
Регистрация: 27.11.2012
Сообщений: 40
09.04.2013, 18:12  [ТС]     Переделать из С в С++ #4
Просто я в плюсах не разбираюсь, попросил человек сюда выложить. Тот тоже в плюсах не очень. Плиз переделайте на С++
VEINHORN
542 / 91 / 22
Регистрация: 16.12.2011
Сообщений: 317
09.04.2013, 19:47     Переделать из С в С++ #5
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
#include<iostream>
using namespace std;
void slau_3(double [][3], double *, unsigned);
double determinant(double [][3]);
int main () {
    double matrix[3][3], vector[3];
    setlocale(LC_CTYPE, "Russian_Russia.1251");
    for (unsigned n = 0; n < 3; n++) {
        unsigned k = n + 1;
        cout << "Введите через пробел: " << "a" << k << k << "x1 + a" << k << k + 1 << "x2 + a" << k << k + 2 << "x3 = b" << k << " : ";
        cin >> matrix[n][0] >> matrix[n][1] >> matrix[n][2] >> vector[n];
    }
    slau_3(matrix, vector, 3);
    system("pause");
    return 0;
}
void slau_3(double a[][3], double * b, unsigned n) {
    double det[4], temp[3][3], x1, x2, x3;
    for (int k = 0; k <= n; k++) {
        if (!k)
            for (int r = 0; r < n; r++)
                for (int c = 0; c < n; c++)
                    temp[r][c] = a[r][c];
        else
            for (int c = 0; c < n; c++)
                for (int r = 0; r < n; r++)
                    if (k - 1 == c) temp[r][c] = b[r];
                    else temp[r][c] = a[r][c];
        det[k] = determinant(temp);
    }
    if (det[0]) {
        x1 = det[1] / det[0];
        x2 = det[2] / det[0];
        x3 = det[3] / det[0];
        cout << endl << "x1 = " << x1 << endl << "x2 = " << x2 << endl << "x3 = " << x3 << endl;
    } else cout << "\n\aМного корней, система несовместная!";
 
}
double determinant(double a[][3]) {
    return a[0][0] * a[1][1] * a[2][2] +
           a[0][1] * a[1][2] * a[2][0] +
           a[1][0] * a[2][1] * a[0][2] -
           a[0][2] * a[1][1] * a[2][0] -
           a[0][1] * a[1][0] * a[2][2] -
           a[1][2] * a[2][1] * a[0][0];
}
Alex_fuse
2 / 2 / 2
Регистрация: 27.11.2012
Сообщений: 40
09.04.2013, 20:09  [ТС]     Переделать из С в С++ #6
Спасибо
Yandex
Объявления
09.04.2013, 20:09     Переделать из С в С++
Ответ Создать тему
Опции темы

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