Problem

8 /13


Tüm karakterler arasında dolaş

Theory Click to read/hide

Bir karaktere dizin tarafından erişilebildiğinden, olası dizin değerlerini alacak olan tüm karakterleri yinelemek için bir değişken döngüsü kullanabilirsiniz. Örneğin, s dizisinin tüm karakter kodlarını görüntüleyen bir program şöyle görünür:

for i := 1 - uzunluk(lar) do
    writeln(s[i], sıra(s[i]))
Program için açıklamalar:
1) uzunluk(lar) işlevi bir dizgenin uzunluğunu bulur. İlk karakterin indeksi 1 ve son karakterin indeksi uzunluk(lar)dır. i döngü değişkeni yalnızca 1'den uzunluk(lar)a kadar değerler alacaktır.
2) Her satırda, önce sembolün kendisi, ardından ord()
yerleşik işlevi tarafından döndürülen kodu görüntülenecektir.
Aynı numaralandırma daha kısa yazılabilir:
c in s yapmak için 
    writeln(c, sıra(c));
Bu parçada, döngü başlığı tüm s karakterleri arasında dolanır ve onları sırayla c değişkenine yerleştirir.

Dizelerle çalışırken Pascal'ın özelliği, dizelerin değişken nesneler olmasıdır. Başka bir deyişle, bir dizgenin karakterlerini tek tek değiştirebiliriz.
Örneğin, aşağıdaki ifade işe yarayacaktır
s[5] := 'a'
Gerekli değişikliklerle karakterlerden yeni bir dizi de oluşturabilirsiniz.
Örneğin, tüm 'a' karakterlerini değiştiren bir program. 'b' şöyle görünecek:
okuma(lar);
    i için := 1 ila uzunluk(lar) başlar
        s[i] = 'a'o zaman s[i] := 'b';
    son;
writeln(ler);
Bu örnekte, s dizisinin tüm karakterleri arasında döngü yapıyoruz. Döngünün gövdesinde s[i] değişkeninin değerini kontrol ederiz: karakter 'a' karakteriyle eşleşirse, o zaman onu 'b' ile değiştiririz.
 

Problem

Bir dizideki tüm noktaları sıfırlarla ve tüm harfleri "X" ile değiştiren bir program yazın. birimler. 

Örnekler
# Girdi Çıktı
1 ..X..XX 0010011