• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фазинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Проблема Нужно перевести код с С++ в С.Помогите пожалуйста!

Dage

New member
23.11.2017
2
0
#1
#include<iostream>
#include<cmath>
#include<vector>
#include<iomanip>
using namespace std;

int main () {
double m; // число строк
double n; // число столбцов
double c; // коэффициент

// ввод данных в программу
cout << "Vvedite M: ";
cin >> m;
cout << "Vvedite N: ";
cin >> n;
cout << "Vvedite C: ";
cin >> c;


// инициализация матрицы
vector < vector <double> > arr(m);
for (int i = 0; i < m; i++) {
arr.resize(n);
for (int j = 0; j < n; j++) {
arr[j] = sin(c)*cos(M_PI/4*(i+2*j));
}
}

// вывод матрицы на экран
cout << endl;
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
cout << setprecision(4) << setw(13) << scientific;
cout << arr[j] << ' ';
}
cout << endl;
}

// находим в матрице и выводим на экран отрицательные элементы
// вычисляем их произведение
cout << endl;
double prod = 1; // произведение отрицательных элементов
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (arr[j] < 0) {
cout << "(" << i+1 << "; " << j+1 << ") : " << arr[j] << endl;
prod *= arr[j];
}
}
}

// вывод на экран произведения отрицательных элементов матрицы
cout << endl;
cout << "Proizvedenie otricatelnyh elementov matricy: " << prod << endl;

system("pause");
return 0;
}
 

r0hack

DAG
Gold Team
29.09.2017
441
739
#2
Не по теме: Помощь, это когда, ты начал делать, и где-то что-то не понимаешь, а когда просишь делать все за тебя, это не помощь, это уже за тебя, тут нужно на фриланс ))

1) А так программка мега нереально простая, состоящая из условий и циклов, можно тупо просмотреть, как они пишутся в С и вуаля.
2) МОжно использовать данный комбайн - Comeau C/C++ Compiler
3) Лайфхак: инициализируешь программку уже написанную на С++, скармливаешь ее IDA + Hex-Rays, который чудесным образом превратит твой бинарник в С - код.

Но чтобы хоть что-то понять, то бузусловно 1ым вариантом.
 

Dage

New member
23.11.2017
2
0
#3
Не по теме: Помощь, это когда, ты начал делать, и где-то что-то не понимаешь, а когда просишь делать все за тебя, это не помощь, это уже за тебя, тут нужно на фриланс ))

1) А так программка мега нереально простая, состоящая из условий и циклов, можно тупо просмотреть, как они пишутся в С и вуаля.
2) МОжно использовать данный комбайн - Comeau C/C++ Compiler
3) Лайфхак: инициализируешь программку уже написанную на С++, скармливаешь ее IDA + Hex-Rays, который чудесным образом превратит твой бинарник в С - код.

Но чтобы хоть что-то понять, то бузусловно 1ым вариантом.
Хорошо,тогда обьясните как правильно записать эти строки в С
vector < vector <double> > arr(m);
.......
arr.resize(n);
........
cout << endl;
.......
cout << setprecision(4) << setw(13) << scientific;
.......
cout << "(" << i+1 << "; " << j+1 << ") : " << arr[j] << endl;
Я был бы вам очень благодарен)
 

r0hack

DAG
Gold Team
29.09.2017
441
739
#4
cout << setprecision(4) << setw(13) << scientific;
Код:
printf(“%13.4e”, var);
vector < vector <double> > arr(m);
for (int i = 0; i < m; i++) {
arr.resize(n);
Код:
double** arr = (double**)malloc(n*sizeof(double*));
for (int i = 0; i < m; i++) arr[i] = (double*)malloc(sizeof(double));
..........

Могу ошибаться, давно не использую сишные...
Дальше сам: прочитай про malloc, realloc, free, printf , в данном примере они помогут...
 
Последнее редактирование:
Вверх Снизу