İki dəyişən təyin edək:
— ilk boşluğun indeksi;
— sonuncu boşluğun indeksi;
Onları bu qiymətlərlə başlayırıq: a = b = -1. Sonra sətir -in simvollarını yoxlayırıq. Əgər cari simvol boşluq (s_i = ' ') olarsa:
Əgər bundan əvvəl boşluq yoxdursa (a = -1), a = i olaraq təyin edirik;
Hər halda b = i olaraq yeniləyirik;
Yoxlama bitdikdən sonra:
Əgər sətirdə boşluq yoxdursa (a = -1), çıxış edirik.
Əks halda, ilk və sonuncu boşluğun indekslərini ( və ) çıxış edirik.
Alqoritmin tətbiqi
Giriş sətirini oxuyuruq.
getline(cin, s);Dəyişənləri və — ilk və sonuncu boşluğun indekslərini təyin edirik.
a = b = -1;
for (i = 0; i < s.size(); i++)Əgər cari simvol s_i boşluqsa, onda:
əgər bundan əvvəl boşluq yoxdursa (a = -1), a = i olaraq təyin edirik;
b = i olaraq yeniləyirik;
if (s[i] == ' ')
{
if (a == -1) a = i;
b = i;
}Əgər sətirdə boşluq yoxdursa (a = -1), çıxış edirik. Əks halda ilk və sonuncu boşluğun indekslərini çıxış edirik.
if (a == -1) printf("-1\n");
else printf("%d %d\n", a, b);Python tətbiqi
Giriş sətirini oxuyuruq.
s = input()Dəyişənləri və — ilk və sonuncu boşluğun indekslərini təyin edirik.
a = b = -1
for i in range(len(s)):Əgər cari simvol s_i boşluqsa, onda:
əgər bundan əvvəl boşluq yoxdursa (a = -1), a = i olaraq təyin edirik;
b = i olaraq yeniləyirik;
if s[i] == ' ':
if a == -1: a = i
b = iƏgər sətirdə boşluq yoxdursa (a = -1), çıxış edirik. Əks halda ilk və sonuncu boşluğun indekslərini çıxış edirik.
if a == -1:
print("-1")
else:
print(a, b)Python tətbiqi — find, rfind
Giriş sətirini oxuyuruq.
s = input()İlk və sonuncu boşluğun indekslərini tapırıq.
find funksiyası sətirdə alt sətirin ilk təsadüfünün indeksini qaytarır.
rfind funksiyası sətirdə alt sətirin sonuncu təsadüfünün indeksini qaytarır.
Hər iki funksiya alt sətir tapılmadıqda qaytarır.
a = s.find(' ')
b = s.rfind(' ')Əgər sətirdə boşluq yoxdursa (a = -1), çıxış edirik. Əks halda ilk və sonuncu boşluğun indekslərini çıxış edirik.
if a == -1:
print("-1")
else:
print(a, b)