На сайте в режиме реального времени публикуются решения контестных задач сервиса Codeforces.
Загружайте свои решения( здесь ) прямо на сайте. Подробнее. Жду ваших решений
 

По разделам

 

Задача String 51


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

Код (C/C++)

# include <iostream>
# include <windows.h>
# include <cmath>
# include <iomanip>
# include <fstream>

using namespace std;
const int M = 20;
const int N = 50;
int main()
{
   SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
   
   int i,j;
   char words[M][N];   
   char str[M*N] = "";
   ifstream in ("String51.txt");
   in.getline(str,sizeof(str)); 
   cout << "Исходный набор слов:" << "\n";  
   cout << str << endl; 
        
   char* ptr; 
   ptr = strtok(str, " ,.");    
   int n = 0;         
   while(ptr!=NULL) 
   {          
	   strcpy(words[n], ptr);
	   ptr = strtok(NULL, " ,.");  
	   ++n;
          
   }   
    
   char cur[N] = ""; //Буфер
   
    for(i=0;i<n-1;++i) {
        for(j=i+1;j<n;++j)
            if(strcmp(words[i],words[j])>0)
            {   strcpy(cur,words[i]);
                strcpy(words[i],words[j]);
                strcpy(words[j],cur);
            }
    }
    
    cout << "\n";
    cout << "Набор слов в алфавитном порядке:" << "\n";
    char s[M*N] = "";
    strcat(s,words[0]);
    for(i=1;i<n;++i){
       strcat(s," ");
       strcat(s,words[i]);
    }
    cout << s << endl;

    system ("pause");
}

Код (Pascal)

program String51;
var
 S:String;
 SA : array [1..225] of String;
 i,i2,Len,Len2,poz:integer;
 
procedure SwapString(var S1,S2:String);
var
 STemp:String;
begin
 STemp:=S1;
 S1:=S2;
 S2:=STemp;
end;
 
 
Function CompareString(S1,S2:string):boolean;
begin
 if S10) do
   begin
    if poz=1 then delete(S,1,1);
    if poz>1 then
     begin
      inc(Len);
      SA[Len]:=copy(S,1,poz-1);
      Delete(S,1,poz);
     end;
    poz:=pos(' ',S);
   end;
  inc(Len);
  SA[Len]:=S;
//получился массив SA длинной len.
//сортирую массив
  Len2:=Len;
  for i:=1 to Len-1 do
   begin
    i2:=1;
    Len2:=Len2-1;
    while (i2<=Len2) do
     begin
      if not(CompareString(SA[i2],SA[i2+1])) then SwapString(SA[i2],SA[i2+1]);
      inc(i2);
     end;
   end;
//складываю массив в строку
  S:=SA[1];
  for i:=2 to Len do S:=S+' '+SA[i];
//вывожу массив
  Writeln(S);
end.
									




String. Абрамян
String 1 Просмотров: 44
String 2 Просмотров: 27
String 3 Просмотров: 41
String 4 Просмотров: 53
String 5 Просмотров: 34
String 6 Просмотров: 48
String 7 Просмотров: 25
String 8 Просмотров: 20
String 9 Просмотров: 196
String 10 Просмотров: 26
String 11 Просмотров: 41
String 12 Просмотров: 251
String 13 Просмотров: 33
String 14 Просмотров: 42
String 15 Просмотров: 52
String 16 Просмотров: 41
String 17 Просмотров: 39
String 18 Просмотров: 36
String 19 Просмотров: 162
String 20 Просмотров: 26
String 21 Просмотров: 42
String 22 Просмотров: 38
String 23 Просмотров: 62
String 24 Просмотров: 51
String 25 Просмотров: 50
String 26 Просмотров: 57
String 27 Просмотров: 61
String 28 Просмотров: 87
String 29 Просмотров: 60
String 30 Просмотров: 74
String 31 Просмотров: 45
String 32 Просмотров: 93
String 33 Просмотров: 62
String 34 Просмотров: 53
String 35 Просмотров: 53
String 36 Просмотров: 53
String 37 Просмотров: 56
String 38 Просмотров: 50
String 39 Просмотров: 54
String 40 Просмотров: 71
String 41 Просмотров: 58
String 42 Просмотров: 52
String 43 Просмотров: 54
String 44 Просмотров: 49
String 45 Просмотров: 49
String 46 Просмотров: 50
String 47 Просмотров: 38
String 48 Просмотров: 51
String 49 Просмотров: 53
String 50 Просмотров: 38
String 51 Просмотров: 48
String 52 Просмотров: 46
String 53 Просмотров: 33
String 54 Просмотров: 34
String 55 Просмотров: 53
String 56 Просмотров: 35
String 57 Просмотров: 51
String 58 Просмотров: 35
String 59 Просмотров: 28
String 60 Просмотров: 42
String 61 Просмотров: 29
String 62 Просмотров: 30
String 63 Просмотров: 70
String 64 Просмотров: 40
String 65 Просмотров: 53
String 66 Просмотров: 34
String 67 Просмотров: 31
String 68 Просмотров: 21
String 69 Просмотров: 46
String 70 Просмотров: 38

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться