30.03.2012, 15:26 | #1 (permalink) |
Member
Регистрация: 01.02.2012
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите, пожалуйста, разобраться в этих двух задачах
чего здесь не хватает? procedure exchange(var s: string); var i, j: integer; begin for i:=1 to length(s) do if s[i]='a' then for j:=length(s) downto 1 do if s[j]='o' then begin s[i]:='o'; s[j]:='a'; exit; end; end. 2.Даны два натуральных числа. Выяснить в каком из них сумма цифр больше(определить функцию для расчета суммы цифр натурального числа) |
30.03.2012, 15:26 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Тут вы можете ознакомиться с похожими темами Плата на двух 7265. Помогите разобраться Помогите, пожалуйста, с решением двух задач в Pascal Помогите разобраться Помогите разобраться Помогите, пожалуйста, разобраться в схеме Помогите разобраться с ошибками, пожалуйста |
30.03.2012, 16:17 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да всего хватает. Вот только в конце процедуры, в отличие от программы, ставится не точка, а точка с запятой. И еще - я бы на свой вкус несколько более строго задал параметры процедуры, поставив входную (без "var") и выходную (с "var") строки. Но работает и так, я проверил.Это можно сделать несколькими способами:
1. С преобразованием числа в строку: Код:
Function Sum_Of_Fig(N:LongInt):Byte; var SOF,i,Fig:Byte; S:String; Code:Integer; begin STR(N,S); SOF:=0; For i:=1 to Length(S) do begin VAL(S[i],Fig,Code); Inc(SOF,Fig); end; Sum_Of_Fig:=SOF; end; Код:
Function Sum_Of_Fig(N:LongInt):Byte; var NOF,i,SOF:Byte; begin SOF:=0; If N>0 then begin NOF:=Trunc(Ln(N)/Ln(10))+1; For i:=1 to NOF do begin Inc(SOF,(N mod 10)); N:=N div 10; end; end; Sum_Of_Fig:=SOF; end; Код:
Function Sum_Of_Fig(N:LongInt):Byte; var SOF:Byte; begin SOF:=0; If N>0 then Repeat Inc(SOF,(N mod 10)); N:=N div 10; Until N=0; Sum_Of_Fig:=SOF; end; Да, если у Вас этот, не при дамах будь сказано, Pascal ABC, то Longint замените на Integer. |
30.03.2012, 17:41 | #3 (permalink) |
Member
Регистрация: 01.02.2012
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
спасибо большое Владимир, я все правильно вводила вот ту первую задачу, но не работало перед end какая-то ошибка выходит, и в этих тоже самое..почему-то меня смущает то что в конце программы точка с запятой стоит, не может ли там как нибудь по-другому быть,дальше продолжение ?
|
30.03.2012, 17:56 | #5 (permalink) |
Member
Регистрация: 01.02.2012
Сообщений: 75
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
1. С преобразованием числа в строку-вот это мне подходит, я его ввела не идет,ошибка: Error 10.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
30.03.2012, 20:31 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Уважаемая Гульназ, да поймите же - то, что выложено, это вовсе никакие не программы, а процедуры и функции! То есть всего лишь составные части программ. Сами по себе они работать не будут - нужно написать программы. Например, для вычисления суммы цифр с преобразованием в строку - так:
Код:
Var Q:Longint; Function Sum_Of_Fig(N:LongInt):Byte; var SOF,i,Fig:Byte; S:String; Code:Integer; begin STR(N,S); SOF:=0; For i:=1 to Length(S) do begin VAL(S[i],Fig,Code); Inc(SOF,Fig); end; Sum_Of_Fig:=SOF; end; Begin Write('Q= '); Readln(Q); Writeln('Sum= ',Sum_Of_Fig(Q)); Readln End. И еще. Хочу дать Вам один дружеский (поверьте!) совет. Если Вы будете продолжать метаться между школьными задачками по Паскалю и HTML-формами, Ява-скриптами и прочим, и всюду будете пытаться урвать по кусочку - уверяю Вас, толку с этого не будет. То есть абсолютно ни малейшего. Так программирование не осваивают. Просто впустую потратите время, силы и нервы. Тут может быть только системный подход. Извините. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|