Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] Работа со строками?


Автор: A13 20.1.2008, 17:25
[Delphi]
 smile 
Пришлите что нибудь почитать по теме, или решите!!!

1.    Написать функцию, которая удаляет из заданной строки все русские буквы?
2.    Написать функцию, которая удаляет из заданной строки все латинские буквы?
3.    Заданная строка содержит имя файла вместе с расширением написать функцию, которая удаляет расширение из названия файла?
4.    Заданная строка содержит имя файла вместе с расширением написать функцию, которая возвращает расширение файла?
5.    Написать функцию, возвращающую количество знаков препинания в заданной строке?
6.    Написать функцию, возвращающую количество латинских литер в заданной строке?
7.    Отобразить в ListBox все литеры заданной строки кроме пробелов?
8.    Отобразить в ListBox все литеры латинские литеры из заданной строки?
9.    Отобразить в ListBox все числа не превышающие заданного числа и оканчивающиеся на заданную цифру?
10.    Написать функцию, возвращающую первое слово из заданной строки?
11.    Написать функцию, возвращающую последнее слово из заданной строки?
12.    Написать функцию, возвращающую число присутствующее в зазданной строке среди жругих слов?

Для каждого алгоритма написать независимую процедуру и применить ее в обработчике события.
Использовать цикл FOR.
13.    Отобразить количество непробельных литер?
14.    Отобразить количество пробелов?
15.    Отобразить количество лидирующих пробелов?
16.    Отобразить количество хвостовых пробелов?
17.    Удалить все пробелы?
18.    Удалить лидирующие пробелы?
19.    Удалить хвостовые пробелы?
20.    Количество латинских литер?
21.    Количество русских литер?
22.    Количество цифр?
Спасибо!!!!!!!!!!!!!!

Автор: tommy256 20.1.2008, 17:41
Сейчас решим...1 сек   smile А почитать.... любую книгу для начинающих

Автор: A13 20.1.2008, 18:31
Цитата(A13 @ 20.1.2008,  17:25)
[Delphi]
 smile 
Пришлите что нибудь почитать по теме, или решите!!!

1.    Написать функцию, которая удаляет из заданной строки все русские буквы?
2.    Написать функцию, которая удаляет из заданной строки все латинские буквы?
3.    Заданная строка содержит имя файла вместе с расширением написать функцию, которая удаляет расширение из названия файла?
4.    Заданная строка содержит имя файла вместе с расширением написать функцию, которая возвращает расширение файла?
5.    Написать функцию, возвращающую количество знаков препинания в заданной строке?
6.    Написать функцию, возвращающую количество латинских литер в заданной строке?
7.    Отобразить в ListBox все литеры заданной строки кроме пробелов?
8.    Отобразить в ListBox все литеры латинские литеры из заданной строки?
9.    Отобразить в ListBox все числа не превышающие заданного числа и оканчивающиеся на заданную цифру?
10.    Написать функцию, возвращающую первое слово из заданной строки?
11.    Написать функцию, возвращающую последнее слово из заданной строки?
12.    Написать функцию, возвращающую число присутствующее в зазданной строке среди жругих слов?

Для каждого алгоритма написать независимую процедуру и применить ее в обработчике события.
Использовать цикл FOR.
13.    Отобразить количество непробельных литер?
14.    Отобразить количество пробелов?
15.    Отобразить количество лидирующих пробелов?
16.    Отобразить количество хвостовых пробелов?
17.    Удалить все пробелы?
18.    Удалить лидирующие пробелы?
19.    Удалить хвостовые пробелы?
20.    Количество латинских литер?
21.    Количество русских литер?
22.    Количество цифр?
Спасибо!!!!!!!!!!!!!!

три книги взял в библиотеке и ни в одной ничего по теме нет smile .

Автор: Alexeis 20.1.2008, 18:37
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: A13 20.1.2008, 18:47
А вы что то посоветовать почитать не порекомендуете????? только по подробнее о теме работа со строками??????????????????

Автор: ivan219 20.1.2008, 18:58
Цитата(A13 @  20.1.2008,  18:47 Найти цитируемый пост)
только по подробнее о теме работа со строками??????????????????

Это самые основы в любой книге по Паскалю есть.
Вот тебе 3 основных функции по строкам Pos(); Delete(); Copy(); что неужели их нет в твоих книгах smile ещё тебе понадобится циклы for, while.

Автор: source777 20.1.2008, 19:41
Цитата

три книги взял в библиотеке и ни в одной ничего по теме нет 
А что в твоём понимании значит "по теме"? типа "А сейчас мы рассмотрим как отобразить количество пробелов ..." ? 

Автор: A13 20.1.2008, 19:44
Цитата(source777 @ 20.1.2008,  19:41)
Цитата

три книги взял в библиотеке и ни в одной ничего по теме нет 
А что в твоём понимании значит "по теме"? типа "А сейчас мы рассмотрим как отобразить количество пробелов ..." ?

Ну типа да, если это возможно!!! smile 

Автор: THandle 20.1.2008, 21:03
Цитата(A13 @  20.1.2008,  19:44 Найти цитируемый пост)
Ну типа да, если это возможно!!!

Такое невозмоно впринципе. Повнимательнее почитай работу со строками, и всё получится. smile 

Автор: A13 20.1.2008, 21:23
Цитата(THandle @ 20.1.2008,  21:03)
[

чем и занят. а между делом прислал задания а вдруг прокатит кто нибудь да поможет? smile 

Автор: JSinx 20.1.2008, 22:29
Примерный алгоритм smile

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



С расширением - ищешь точку, вариант один - уделяешь все что до точки, второй - после точки.


P.S. Ну и честно говоря школьные задачки то, надо просто подумать головой немного, а не искать простейшие алгоритмы в книгах и по инету. Хотя не спорю вопросов таких много.

Автор: JSinx 20.1.2008, 23:12
Посмотрел последние книги по delphi 2005 и старше, даже нет описания функций работы со строками.  Видимо в наш век актуально xml, базы данных и пр.

Попробуй поискать книгу "Петр Дарахвелидзе. Delphi - среда визуального программирования", может и не самая лучшая книга, но много базисных вещей есть.

Если нормально с английским, то должен помочь простой help smile

Еще есть сайт, где решают много подобных задачек, но не помню его :(

Автор: Palladin 22.1.2008, 03:27
создаеш переменную типа String потом пишешь в едит строку, на строку смотришь как на массив символов и в цикле проверяешь, вот к примеру процедура для поиска пробелов:

Код

procedure Button1.Click(Sender:TObject);
var
s:String;
i,k:integer;
begin
 s:=Edit1.text;

for i:=1 to Length(s) do
if s[i]=' ' then k++;

memo1.text:="Кол-во пробелов в строке"+s+" :"+inttostr(k);
end;


На Pascale и Delphi уже полтара года ничего не писал, такчто не ругай smile 

Автор: THandle 22.1.2008, 11:54
Palladin, в Паскале вместо k++ используется inc(k).

То есть твоя процедурка выглядит так:
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  s:String;
  i,k:integer;
begin
  s:=Edit1.text;
  k := 0;
  for i := 1 to Length(s) do
    if s[i] = ' ' then
      inc(k);
  ShowMessage('Колличество пробелов в строке: ' + s + ' : ' + inttostr(k));
end;

Автор: Palladin 22.1.2008, 14:25
Цитата(THandle @  22.1.2008,  11:54 Найти цитируемый пост)
Palladin, в Паскале вместо k++ используется inc(k).

Я ж говорю полтора года не писалsmile спасибо что не пинал сильноsmile
а вообще можно и так 
Код
k:=k+1
 smile 

Автор: THandle 22.1.2008, 15:50
Цитата(Palladin @  22.1.2008,  14:25 Найти цитируемый пост)
а вообще можно и так 

Можно. Это одно и тоже.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)