Главная страница
    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.034 c
1-1099084233
Ol_G
2004-10-30 01:10
2004.11.14
Есть необходимость защитить некоторые файлы от копирования


14-1098703870
vopros
2004-10-25 15:31
2004.11.14
Сегодня иду на Зенит-ЦСКА.Но немножко не посебе.


1-1099061901
ser_ega
2004-10-29 18:58
2004.11.14
Разрешение экрана и моя прога


3-1098170390
mccop
2004-10-19 11:19
2004.11.14
Сделать содержимое ячейки DBGrid невидимым


1-1098875583
Tack
2004-10-27 15:13
2004.11.14
Отобразить UNICODE в компонентах Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский