Параллельно-сопряженных градиентов на языке C
Мне нужен этот код на языке c, я не знаю инструкций cpp language может ли кто-нибудь помочь мне преобразовать параллельный сопряженный градиент в c
Что я уже пробовал:
----
Значит, пора учиться. Вам повезло: это очень хорошо.Цитата:Я не знаю инструкций языка cpp
C
-как код. Вы должны в основном заменить создать/удалить[^] звонки с malloc/free
одни, некоторые операторы выходных потоков с соответствующими C
стандарт printf
звонки и почти ничего больше.
Также необходимо изменить использование строк и сравнений с использованием этих переменных.
По-моему, это простая задача.
Ладно, теперь я пытаюсь
У меня есть проблема в этой части не могли бы вы помочь как можно перевести ее на язык Си
если(argc > 2) {
T = argv[2];
if(argc > 3) {
P = argv[3];
if(argc > 4) {
Db = argv[4];
}
}
}
Вы должны заменить строки C++ указателями char (char *
).
Например:
char * T;
//...
T = argv[2];
//..
if ( T && ( strcmp(T,"-p")==0)) // это заменяет if (T == "-p")
//..
Большое вам спасибо, у меня есть эта ошибка и для других файлов, почему? несовместимый тип для аргумента 2 ‘fprintf ' fprintf(matrixfile, a[i][j]); Примечание: ожидается ‘const char * restrict’, но аргумент имеет тип ‘double’
extern int fprintf (FILE *__restrict __stream,
Мне не нужно использовать файл сейчас, поэтому я прокомментировал его, но у меня есть эта проблема, как ее решить, пожалуйста/// ===================================================================================
= НЕУДАЧНОЕ ЗАВЕРШЕНИЕ ОДНОГО ИЗ ВАШИХ ПРОЦЕССОВ ПОДАЧИ ЗАЯВКИ
= PID 2173 работает на Саре
= КОД ЗАВЕРШЕНИЯ: 11
= ОЧИСТКА ОСТАВШИХСЯ ПРОЦЕССОВ
= ВЫ МОЖЕТЕ ИГНОРИРОВАТЬ ПРИВЕДЕННЫЕ НИЖЕ СООБЩЕНИЯ ОБ ОЧИСТКЕ
===================================================================================
Ваше приложение завершается строкой выхода: ошибка сегментации (сигнал 11)
Обычно это относится к проблеме с вашим приложением.
Пожалуйста, обратитесь к странице часто задаваемых вопросов для получения предложений по отладке
Это означает, что пришло время использовать отладчик.
@Rick York, подумайте о проблеме в этой части, потому что, когда я комментирую ее, программа запускается правильно, если(argc > 2) {
T = argv[2];
if(argc > 3) {
P = argv[3];
if(argc > 4) {
Db = argv[4];
}
}
}