 
			
				05.12.2012, 22:26
			
			
			
		  
	 | 
	
		
		
		
			  | 
			
			
				
				
				 Прохожий 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 24.11.2012 
					
					
					Сообщения: 6
 
				Версия Delphi: Delphi 7 
					Репутация: 10 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
				 
				
			 
			 
			
		
		
		
		
	Цитата: 
	
	
		| 
			
				 Сообщение от Guneska 
				Доброго времени суток, уважаемые форумчане. 
Помогите, пожалуйста, перерыла кучу информации, и теперь уже запуталась - моё задание на перестановку или сортировку элементов: "Имеется строка, содержащая буквы и цифры. Преобразуйте эту строку так, чтобы сначала в ней шли все цифры, а потом - все буквы исходной строки. Допустимые символы - цифры, прописные и строчные латинские буквы. Пример: исходная строка - ad2e57b6; результат - 2576adeb". 
Написать нужно в консольном приложении. 
			
		 | 
	 
	 
 
	Код: 
	program Project2;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
  str, numbers, letters, res1,res2: string;
  len,i,j: integer;
begin
  numbers:='1234567890';
  letters:='qwertyuiopasdfghjklzxcvbnm';
  write('Vvedite stroku: ');
  readln(str);  // записываем исходную строку в переменную str
  len:=length(str);  //Записываем в переменную len длинну строки
  for i:=1 to len do   // Цикл от 1 до конца строки
    for j:=1 to 10 do  //Цил от 1 до 10 (количество цифр)
      { Если символ i строки str равен символу j строки numbers тогда записываем
      в res1 по принципу: старая информация в res1 + символ строки}
      if str[i]=numbers[j] then
        begin
          res1:=res1+str[i];
          break;  //Прерывание цикла
        end;
  for i:=1 to len do  // Цикл от 1 до конца строки
    for j:=1 to 26 do  // Цил от 1 до 26 (количество букв в алфавите)
    { Если символ i строки str равен символу j строки letters тогда записываем
      в res2 по принципу: старая информация в res2 + символ строки}
      if str[i]=letters[j] then
        begin
          res2:=res2+str[i];
          break; //Прерывание цикла
        end;
  writeln('Resultat: ', res1,res2);   //Выводим результат
  readln;
end. 
 
Первый блок циклов "анализирует" и записывает в одну строку res1 все цифры из исходной строки. Второй блок циклов записывает в res2 все буквы строки.
 
В качестве благодарности произнеси тост за мое здоровье    
		
	
		
		
		
		
		
	
		
			
			
			
			
				 
			
			
			
			
		 
		
	
	
	 |