![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
BND |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Такая проблемка:
Написали программку на паскале и ее надо перетранслировать на язык СИ (препод требует в двух вариантах сдавать). То есть ту же самую, но чтобы была на СИ написана. МОжет кто-нибудь помоч ? А то я в СИ вапще дилетант ) Сообщение отредактировано: BND - 27.04.2007 20:47 |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ты бы программу-то присоединил, а то пустой разговор получается какой-то...
|
BND |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ты бы программу-то присоединил, а то пустой разговор получается какой-то... Тебе она знакома, ты принимал посильное участие в ее написании =) Вот задание какое: Найти все двузначные и трехзначные десятичные числа, которые в другой системе счисления записаны теми же цифрами, что и в десятичной системе, но в обратном порядке. Код program SS; var j, i: integer; s, s_dec: string; f_out: text; function DecToOther(x:longint;R:word):string; var ost:longint; s,st,chislo:string; i:integer; begin chislo:='';s:='';st:=''; repeat ost:=x mod R; x:=x div R; if ost>9 then st:=chr(ord('A')-10+ost) else str(ost,st); s:=s+st; until x=0; for i:=1 to length(s) do chislo:=chislo+s[length(s)-i+1]; DecToOther:=chislo; end; Function SwapSymbols(s: string): string; Var i:integer; Temp: String; begin Temp := ''; For i:=1 to Length(s)do Temp:=s[i] + Temp; SwapSymbols:=Temp; end; begin assign(f_out, 'res.txt'); rewrite(f_out); for j := 2 to 16 do begin if j = 10 then continue; writeln(j,'-ja sistema schislenia'); for i := 10 to 999 do begin s_dec := DecToOther(i, 10); s := DecToOther(i, j); if SwapSymbols(s) = s_dec then begin Writeln( 's(10) = ', s_dec:5, ' s(':5, j:2, ') = ', s:10); Writeln(f_out, 's(10) = ', s_dec:5, ' s(':5, j:2, ') = ', s:10); end; end; end; close(f_out); end. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
![]() #include <stdio.h> |
BND |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Ну, дело-то все в том, что в С есть уже готовые функции, которых в Паскале, к сожалению, нет... Например вместо DecToOther просто подключаем stdlib.h, и пользуемся itoa, да и функция "разворота" строки strrev уже есть готовая...
Что именно не понятно в программе? Алгоритм-то остался такой же, как и был ... |
BND |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Репутация: ![]() ![]() ![]() |
хорошо. а остальные подключенные функции например, что обозначают: ?
#include <stdio.h #include <string.h И вот эти строчки прокоментировать можно: что в них происходит ?
А еще интересен вопрос, что обозначают вот эти знаки "}" ? это типо "{" - начало, а это "}" конец ? И наконец последний вопрос: что можешь мне порекомендовать почитать вначале про СИ ? Там где основы какие-нибудь даны чтобы были.. |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 2:14 |