Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Вниз

Помогите пожалуйста перевести на си   Найти похожие ветки 

 
vidiv ©   (2004-10-26 16:51) [0]

у меня есть программа написаная на паскале (вообще консольное дельфовское приложение, но в строгом соответствии с паскалем). нужно его перевести на си. (который ++, досовский). Если ктонибудь мне может в этом помочь, прошу - помогите.
вот ссылка на код http://pluton.sakhgu.sakhalin.ru/prg.htm

единственное, на мой взгляд, несоответсвтивие это то что в си строки начинаются (как я думаю) с 0 индекса, а в паскале с первого. я вынес эту функцию отдельно
function getOneChar(str:string; i:integer):char;
{// getOneChar("hello", 1)=="h";}
begin
   if i > length(str) then begin
       result := #0;
       exit;
   end;
   result := str[i];
end;

чтобы думать пришлось только в одном месте :)
Очень приочень надеюсь на вашу помощь!!!


 
KSergey ©   (2004-10-26 16:55) [1]

В Си нем как такового типа String (строки изменяющейся длины)
Есть в STL (раз уж про ++ речь) класс String, на шаблоне сделан. В приципе снаружи почти String из дельфи, хотя, конечно...

А вообще ответ один: или сумма или уточните что именно непонятно.


 
jack128 ©   (2004-10-26 16:56) [2]

char getOneChar(char * str; int i)
{
 if(i >= strlen(s)) return 0;
 else return str[i-1];
}


 
KSergey ©   (2004-10-26 16:58) [3]

К стати, еще раз для меня тупого: только в этой ф-ции непонятки или по всему коду?


 
vidiv ©   (2004-10-27 05:42) [4]


> KSergey ©   (26.10.04 16:58) [3]

тупой скорее тут я... мне вобщем надо перевести весь код на си.. я си никогда не знал, знаю только общие принципы (как в PHP или JS). А перевести не могу... нужно всю програму перевсети...


 
vidiv ©   (2004-10-27 06:36) [5]

проблема еще с функцией
bool numericTest (char * exp; extended & value) {
/* Функция должна на входе иметь стоку и сслыку на число
на выходе 1 - если в строке было записано число и 0 - в противном случае.
если 1 - то также в value передать значение этого числа
надо доделать функцию
*/
   int code;
   val(exp, value, code);
   return code==0;
}

конеретно с val. я не знаю аналога функции val в си...
на паскале она выглядит так:
function numericTest (exp:string;  var value:Extended):boolean;
var
   code:integer;

begin
   val(exp, value, code);
   result := code = 0;
end;


и для паскалевской функции  str (str(val:20:12, result);) тоже не знаю.


 
vidiv ©   (2004-10-27 14:40) [6]

мдя... видимо я чтото не так сказал:)) ну чтож бываит



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
1-1099335963
dolphin
2004-11-01 22:06
2004.11.14
динамическое создание форм


1-1098973712
debuger
2004-10-28 18:28
2004.11.14
Синхронизация по времени выполнения.


14-1098708590
Mihey_temporary
2004-10-25 16:49
2004.11.14
Записать с телека - техническая сторона


1-1099053212
Vadik2k
2004-10-29 16:33
2004.11.14
Как перехватить изменение размеров кнопки


1-1098972789
Sp0k3r
2004-10-28 18:13
2004.11.14
Строки...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский