Главная страница
    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.056 c
1-1099248611
er_
2004-10-31 21:50
2004.11.14
Stringgrid


14-1099059159
Kerk
2004-10-29 18:12
2004.11.14
США могут повторить судьбу СССР


3-1097829624
Пуртик
2004-10-15 12:40
2004.11.14
Как правильно сгенерить строку SQL?


9-1090344678
kruel
2004-07-20 21:31
2004.11.14
расстояние от точки до эллипса


14-1099036914
Baks
2004-10-29 12:01
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский