C++ in komutu nasıl eklenir?

Agageldi

Femtopat
Katılım
19 Ocak 2022
Mesajlar
44
Daha fazla  
Cinsiyet
Erkek
C++:
uses crt;

var s:string;i,k,a,b:integer;

begin

write('bir seyler sallayiniz = ');

read(s);

for i:=1 to length(s)do begin

if s[i] in ['0'..'9'] then k:=k+1;{<--- yada inc(k)burasi fark etmez

(c++ da k++ olarak bilinir)}

if s[i] in ['A'..'Z'] then b:=b+1;

if s[i] in ['a'..'z'] then a:=a+1;

end;

writeln(k,' tane sayi var');

writeln(b,' tane buyuk harf var');

writeln(a,' tane kucuk harf var')

end.

Selam arkdadaslar. Ben de C++ in komutu var mı onu bilmek icin konu olusturmustum eger varsa da nasıl kullanirim?
Mesela Pascal Abc program asagidaki attigim ilk fotoğraf.
Kodu yazdigimda cikinti.

 
C++'ta bir array'in/string'in bir eleman içerip içermediği kontrol edilebiliyor. Diğer dillerde büyülü şekilde yapılmıyor, oturup array geziliyor.

Paylaştığınız dil scope'ları bu bitti diye belirtmeniz gereken dillerden. Bir zahmet indentation kullanın. Kod okunur halde değil.
 
STL diziler için kullanılabilecek bütün fonksiyonların optimize hallerine sahip, biraz doküman karıştırsan ihtiyacın olanları bulursun.

Bunun dışında istediğin şekilde bir "in" operatörü yok ancak benzerini tanımlayabiliriz. (işlevselliği tartışılır.)

C++:
#include <iostream>

#define in ^
bool operator^(int value, std::string format)
{
    if(value < format[0] || value > format[3])
        return false;
    return true;
}

using namespace std;

int main()
{
    string s = "a2sSDg45345c.431Zc";

    if( s[4] in string("A..Z") )
    {
        cout << "Buyuk. \n";
    }

    if( s[1] in string("0..9") )
    {
        cout << "Sayi. \n";
    }
    return 0;
}


Bu yetmediyse gcc ya da clang üzerinden birkaç değişiklik yaparak in operatorüne sahip olabiliriz, bu konuda C++ oldukça esnek bir dil.
 
Zaten verilen container'ı referans olarak alan, güzel bir find varken ne hikmetse ^ operatörüne bu işi atamak çok saçma geldi bana. Kaldı ki fonksiyon içerisinde hard coded sayılar var bir de.

String'de aralık belirtmeye gelecek olursak regex kullanmanızı tavsiye ederim.
 
Yoo bence çok tatlı = ) , op overload ve preprocessor kullanarak C++'da in operatörünün ilkel bir kopyasını tanımladım, ihtiyaca göre geliştirilebilir. C++ CLR wrapped classlar'ında da niyet belirtmediğinden sık sık bu operatör overload edilir.

Sen ise STL den bir fonksiyon önermişsin.
 
Kardesler benım önerdıgım kod C++ da degil aslinda Pascal abc dilinde cok eski bir dil.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…