Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Задачи на строки (http://www.tehnari.ru/f41/t52553/)

rodger_rulez 01.06.2011 15:09

Задачи на строки
 
Привет всем. Ребята, помогите написать две программы.. Вот условия:
задача n7: Дана непустая строка. Вывести коды ее первого и последнего символа.
Задача n39: Дана строка, содержащая по крайней мере один символ пробела. Вывести подстроку, расположенную между первым и вторым пробелом исходной строки. Если строка содержит только один пробел, то вывести пустую строку.

Vladimir_S 01.06.2011 15:12

Ну вот - и еще один член общества ТЯП - "Тайна Языка Программирования". Что-то в последние дни там изрядное пополнение...

rodger_rulez 01.06.2011 15:26

ой, дико извиняюсь за это...
Программки на Паскале нужно.. Прошу еще раз прощения)

Vladimir_S 01.06.2011 15:48

Цитата:

Сообщение от rodger_rulez (Сообщение 530420)
ой, дико извиняюсь за это...
Программки на Паскале нужно.. Прошу еще раз прощения)

Тогда - без проблем:
Цитата:

Дана непустая строка. Вывести коды ее первого и последнего символа.
Код:

VAR
 S:String;
BEGIN
 Writeln('Enter the string:');
 Readln(S);
 Writeln(Ord(S[1]),'  ',Ord(S[Length(S)]));
 Readln
END.

Цитата:

Дана строка, содержащая по крайней мере один символ пробела. Вывести подстроку, расположенную между первым и вторым пробелом исходной строки. Если строка содержит только один пробел, то вывести пустую строку.
Код:

VAR
 S,S1:String;
 i,i1,i2:Byte;
BEGIN
 Writeln('Enter the string:');
 Readln(S);
 i1:=0;
 i2:=0;
 For i:=1 to Length(S) do
  begin
  If (i1=0) and (S[i]=' ') then i1:=i;
  If (i1>0) and (i>i1) and (i2=0) and (S[i]=' ') then i2:=i;
  end;
 If i2=0 then S1:='' else S1:=Copy(S,i1+1, i2-i1-1);
 Writeln(S1);
 Readln
END.


rodger_rulez 01.06.2011 16:00

Vladimir_S, большое спасибо!!
Vladimir_S, а можно попросить у вас сделать еще несколько задачек? Просто завал у меня с ними... Вешаюсь, препод принципиальный и толком ничего не объясняет... =(

Vladimir_S 01.06.2011 16:09

Цитата:

Сообщение от rodger_rulez (Сообщение 530446)
Vladimir_S, большое спасибо!!
Vladimir_S, а можно попросить у вас сделать еще несколько задачек? Просто завал у меня с ними... Вешаюсь, препод принципиальный и толком ничего не объясняет... =(

Попросить можно. Но заранее пообещать не могу. Зависит от самих задач. Сразу предупреждаю:
1. Ясельными упражнениями типа "Дан массив. Найти наибольший (наименьший) элемент" не занимаюсь из принципа.
2. В динамических структурах (стеки, списки, бинарные деревья и т.п.) - не силен.
3. Базами данных на основе массивов записей тоже заниматься не буду - просто за последние дни их прет такая лавина, что надоело.
4. Возможно, просто не компетентен. Например, здесь: http://www.tehnari.ru/f41/t52554/#post530439 помочь не смогу. Ну не знаю я этих методов сортировки, а разбираться - с какой стати?
Если не напужал - выкладывайте, посмотрим :D.

rodger_rulez 03.06.2011 15:33

задача 22: дана строка изображающая целое положительное число. Вывести сумму цифр этого числа.
Задача 38: даны строки s, s1, s2. Заменить в строке s все вхождения строки s1 на строку s2.

Vladimir_S 03.06.2011 16:10

Легко:
Цитата:

Сообщение от rodger_rulez (Сообщение 531526)
задача 22: дана строка изображающая целое положительное число. Вывести сумму цифр этого числа.

Код:

VAR
 S:String;
 i,n:Byte;
 Sum,Code:Word;
BEGIN
 Writeln('Enter the string:');
 Readln(S);
 Sum:=0;
 For i:=1 to Length(S) do
  begin
  Val(S[i],n,Code);
  Inc(Sum,n);
  end;
 Writeln('Sum= ',Sum);
 Readln
END.

Цитата:

Сообщение от rodger_rulez (Сообщение 531526)
Задача 38: даны строки s, s1, s2. Заменить в строке s все вхождения строки s1 на строку s2.

Код:

VAR
 S,S1,S2:String;
 p:Byte;
BEGIN
 Writeln('Enter the string S:');
 Readln(S);
 Writeln('Enter the string S1:');
 Readln(S1);
 Writeln('Enter the string S2:');
 Readln(S2);
 Repeat
  p:=Pos(S1,S);
  If p>0 then
  begin
    Delete(S,p,Length(S1));
    Insert(S2,S,p);
  end;
 Until p=0;
 Writeln(S);
 Readln
END.


M@rgo 09.06.2011 00:01

Всем привет!!!! можно мне 22 задачку расписать объяснение????? ПОЖАЛУЙСТА!!!!:tehnari_ru_102:

AlexZir 09.06.2011 04:16

1) вводим строку
2) заводим цикл для обращения к каждому символу по его номеру
2.1) считываем символ
2.2) преобразовываем символ в число
2.3) сумму увеличиваем на полученное число
3) выводим полученную сумму

Надеюсь, так понятнее? :))


Часовой пояс GMT +4, время: 02:37.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.