Pascal. String

Ответить
lex@
Сообщения: 4
Зарегистрирован: 18 дек 2008, 16:13

народ помогите пожалуйста решить задачку))
>>>> дана строка текста из букв и цифр. найдите сумму и среднее арифметическое цифр, соддержащихся в строке)))) народ пожалуйста срочно)))
Аватара пользователя
demon416
Сообщения: 178
Зарегистрирован: 30 янв 2006, 14:03
Откуда: kirovskoe

вообщето думать как правило полезней
итак:
lex@

Код: Выделить всё

program stroki;
var
i,sum,count: integer;
s:string;
sar: real;
begin
sum:=0;
count:=0;
s:='sdf9sdfds6sdf7sdf2sdf0sdfv4sdf7sdf1sdf2sdf3sdf4sdf5sdf6sdf7sdf8sdf9sdf0sdf9y5dfgdsfv5665';
for i:=1 to length(s) do
if (s[i] >= '0')and(s[i]<='9') then
begin
case s[i] of
'1': sum:=sum+1;
'2': sum:=sum+2;
'3': sum:=sum+3;
'4': sum:=sum+4;
'5': sum:=sum+5;
'6': sum:=sum+6;
'7': sum:=sum+7;
'8': sum:=sum+8;
'9': sum:=sum+9;
end;
count:=count+1;
end;
sar:=sum/count;
writeln(sum,'  ',sar);
readln;
end.

ака хинт: коментируйте код, самим же легче будет разобраться ;)
lex@
Сообщения: 4
Зарегистрирован: 18 дек 2008, 16:13

народ простите меня за наглость, но после 5 часов решения этих задач башка разрывается на части(((( помогите пожалуста, а то за полугодие парашу получать не хочется(((((
1.дана строка, содержащаятекст на русском языке. в предложенияхнекоторые из словзаписаны подряд несколько раз. получить в новой строкеотредактированый текст, в котором удалены подряд идущие вхождения слов.
2.напечатать слово в котором оставлены буквы, входящие в исходное словоровно один раз. ребята пожалуйст))) заранее благодарю))))

demon416, благодарю спасибо огромное
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

вынесено в отдельную тему
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

if (s >= '0')and(s<='9') then
begin
case s of
'1': sum:=sum+1;
'2': sum:=sum+2;
'3': sum:=sum+3;
'4': sum:=sum+4;
'5': sum:=sum+5;
'6': sum:=sum+6;
'7': sum:=sum+7;
'8': sum:=sum+8;
'9': sum:=sum+9;
end;
спокойно заменяется на
if (s >= '0')and(s<='9') then
sum:=sum+ord(s)-ord('0');

1. Раздел "Алгоритмы", тема "Разбиение строки на слова"
2. где-то так
for i:=2 to length(slovo) do
begin
c:=slovo;
if pos(c, copy(slovo,1, i-1))>0 then
while pos(c, slovo)>0 do delete (slovo, pos(c,slovo), 1);
end;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
gunzz
Сообщения: 3
Зарегистрирован: 20 ноя 2009, 20:54

народ помогите пожалуйста решить задачу///
Прочитать 2 текстовые строки длиной не более n(n<80)символов. После каждых трех символов первой строки вставить два символа второй строки. Если символы первой строки закончатся, то дописать все символы второй строки, шо остались/
зарание благодарю//
Ответить