Girilen bir metin üzerinde aşağıdaki işlemleri yapan programı yazınız: 1. Metindeki harf sayısı ve rakam sayısını bulma. 2. Küçük harfleri büyük harflere ve rakamları (yeni_rakam = 9 - rakam)
e göre çevirme. 3. Metnin son halini tersten yazdırma.
Metni girmek.
Metin üzerinde işlemleri yapmak.
Sonuçları yazdırmak.
Büyük harfi küçük harfe çevirmek için küçük_ch = ch – 'A' + 'a'
eşitliği kullanılır
ASCII sayısal örnek:
'h' = 'H' – 'A' + 'a'104 = 72 – 65 + 97
Küçük harfi büyük harfe çevirmek için büyük_ch = ch – 'a' + 'A'
eşitliği kullanılır.
ASCII sayısal örnek:
'H' = 'h' – 'a' + 'A'72 = 104 – 97 + 65
Bir dizinin tersten yazdırılması için, for
un sayacı dizinin uzunluğu-1
den başlar 0’a eşit olana kadar sürer.
Değişkenlerin tanımlanması.
Metnin girilmesi.
Harfler dizisinin oluşturulması.
Metnin string
den char
dizisine çevrilmesi.
Metnin uzunluğu kadar dönen döngünün oluşturulması.
Karakterlerin kontrol edilmesi.
Sonuçların yazdırılması.
#include <iostream>using namespace std;int main() {// Değişkenlerin tanımlanmasıint i, harf_sayi = 0, rakam_sayi = 0;string metin;getline(cin, metin); // Metnin girilmesicout << metin;// Metnin uzunluğu kadar dönen döngünün oluşturulmasıfor (i = 0; i < metin.length(); i++) {// Karakterlerin kontrol edilmesi.if (metin[i] >= 'a' && metin[i] <= 'z') {metin[i] = (char)(metin[i] - 'a' + 'A');harf_sayi++;} elseif (metin[i] >= 'A' && metin[i] <= 'Z')harf_sayi++;else if (metin[i] >= '0' && metin[i] <= '9') {metin[i] = (char)('9' - metin[i] + '0');rakam_sayi++;}}// Sonuçların yazdırılmasıcout << "Harf sayisi= " << harf_sayi << endl;cout << "Rakam sayisi= " << rakam_sayi << endl;for (i = metin.length() - 1; i >= 0; i--)cout << metin[i];}
harf_sayi = 0; rakam_sayi = 0 # Değişkenlerin tanımlanmasımetin = list(str(input())) # Metnin girilmesi# Metnin uzunluğu kadar dönen döngünün oluşturulmasıfor karakter in metin:# Karakterlerin kontrol edilmesi.if karakter >= 'a' and karakter <= 'z':karakter = chr(ord(karakter) - ord('a') + ord('A'))harf_sayi += 1elif karakter >= 'A' and karakter <= 'Z':harf_sayi += 1elif karakter >= '0' and karakter <= '9':karakter = chr(ord('9') - ord(karakter) + ord('0'))rakam_sayi += 1# Sonuçların yazdırılmasıprint("Harf sayisi= ", harf_sayi)print("Rakam sayisi= ", rakam_sayi)sonuc = ''.join(metin)print(sonuc[::-1])
import java.util.*;public class Sifreleme {public static void main(String arg[]) {Scanner input = new Scanner(System.in);// Değişkenlerin tanımlanmasıint i, harf_sayi = 0, rakam_sayi = 0;String metin;metin = input.nextLine(); // Metnin girilmesichar harfler[] = new char[metin.length()]; // Harfler dizisinin oluşturulmasıharfler = metin.toCharArray(); // Metnin string’den char dizisine çevrilmesi// Metnin uzunluğu kadar dönen döngünün oluşturulmasıfor (i = 0; i < metin.length(); i++) {// Karakterlerin kontrol edilmesi.if (harfler[i] >= 'a' && harfler[i] <= 'z') {harfler[i] = (char)(harfler[i] - 'a' + 'A');harf_sayi++;} elseif (harfler[i] >= 'A' && harfler[i] <= 'Z')harf_sayi++;else if (harfler[i] >= '0' && harfler[i] <= '9') {harfler[i] = (char)('9' - harfler[i] + '0');rakam_sayi++;}}// Sonuçların yazdırılmasıSystem.out.println("Harf sayisi= " + harf_sayi);System.out.println("Rakam sayisi= " + rakam_sayi);for(i = metin.length()-1; i>=0; i--)System.out.print(harfler[i]);}}
QNa r^% 843$Harf sayisi= 4Rakam sayisi= 3$651 %^R ANQ
Dizinin uzunluğunu .legnth()
fonksiyonunun yardımıyla elde ettik.
Metnin harflerini tek tek kontrol etmek için metni char
dizisine atadık.
char
tipi üzerinde yapılan matematiksel işlemlerin sonuçları int
tipindedir, bu yüzden sonucu char
a dönüştürdük.