Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

В) Примеры решения задач



Задача 5. В Edit1 заменить все пробелы на символы подчеркивания.

String S=Edit1->Text;

for (int i=1; i<=S.Length(); i++)

if (S[i]==' ') S[i]='_';

Edit1->Text=S;

Задача 6. Заменить в строке все слова "NO" на "YES" (заменять только целые слова):

s=" "+s+" "; // иначе 1-е и последнее слова не узнает

while(i=s.Pos(" NO ")) { //Пока Pos!=0, i присв. Pos

s.Delete(i,4);

s.Insert(" YES ",i);

}

s=s.SubString(2,s.Length()-2);//теперь удаляем пробелы

Задача 7. Заменить в строке все слова "NO" (без учета регистра) на "YES" (большими буквами); заменять только целые слова:

s=" "+s+" "; // иначе 1-е и последнее слова не узнает

while(i=AnsiUpperCase(s).Pos(" NO ")) {

s.Delete(i,4);

s.Insert(" YES ",i);

}

s=s.SubString(2,s.Length()-2);//теперь удаляем пробелы

Задача 8. Ввести строку, состоящую из слов, разделенных пробелами. Вывести эти слова в обратном порядке, при этом самое первое по алфавиту (независимо от регистра) из них записать только большими буквами.

String s,t,r,w[90];

int i,j,n=0,k;

s=Edit1->Text+" ";

for (i=1; i<=s.Length(); i++)

if (s[i]!=' ')

t+=s[i];

else

if (t!="") {

w[n++]=t;

t="";

}

for (k=i=0; i<n; i++)

if (AnsiUpperCase(w[i])< AnsiUpperCase(w[k])) k=i;

w[k]=AnsiUpperCase(w[k]);

for (i=n-1; i>=0; i--)

r+=w[i]+(i==0? "": " ");

Edit1->Text=r;

Преобразования строковых типов.





Дата публикования: 2014-11-04; Прочитано: 287 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...