String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

Benzer belgeler
ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

STRİNG DİZİLER(KATARLAR)

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

ALGORİTMA VE PROGRAMLAMA I

NESNEYE YÖNELİK PROGRAMLAMA

C++ Dersi: Nesne Tabanlı Programlama

Fall Object-Oriented Programming Laboratory 02 - Structures

Hazır Fonksiyonlar {\} /\ Suhap SAHIN Onur GÖK 1

ALGORİTMA VE PROGRAMLAMA I

String Sınıfını Yönetmek

C/C++ Disk G/Ç İşlemleri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler

Diziler & Karakter Katarı (String)

scanf () Fonksiyonu Klavyeden veri okumak için kullanılır. Yapı olarak printf () fonksiyonu aynıdır. Kullanım biçimi:

STRING (SÖZEL) İŞLEMLER. Yrd. Doç.Dr. Bülent Çobanoğlu

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Fonksiyonlar (Altprogram)

Internet Programming II

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Pointer Kavramı. Veri Yapıları

Java String İşlemleri

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

NESNEYE YÖNELİK PROGRAMLAMA

PROGRAMLAMAYA GİRİŞ DERS 2

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

1 PROGRAMLAMAYA GİRİŞ

HSancak Nesne Tabanlı Programlama I Ders Notları

C++ Dersi: Nesne Tabanlı Programlama

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Internet Programming II

C Konsol Giriş Çıkış Fonksiyonları

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Eln 1001 Bilgisayar Programlama I

Telefon Rehberi Uygulaması

Örnek1: #include <iostream> #include <string> using namespace std;

ALGORİTMA VE PROGRAMLAMA II

C#(Sharp) Programlama Dili

BÖLÜM 5: TEMEL GİRİŞ/ÇIKIŞ FONKSİYONLARI

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

Giriş. ENF102 Jeoloji

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

İnternet Programcılığı Dersi 2.Dönem Ders Notu

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Nesne Tabanlı Programlama

Yrd. Doç. Dr. Caner ÖZCAN

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

NESNEYE YÖNELİK PROGRAMLAMA THIS İŞARETÇİSİ, KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR,NESNE DİZİLERİ

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

C++ Dersi: Nesne Tabanlı Programlama

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1001 BİLGİSAYAR PROGRAMLAMA I

C++ Dersi: Nesne Tabanlı Programlama

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

C# Çalışma Örnekleri

MATLAB/Değişkene Değer Atamak

Program Kodlamaya Geçiş

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

Strings(Karakter Dizisi)

/* Çember alanını hesaplar */

// hataları işaret eden referans

C++ Dersi: Nesne Tabanlı Programlama

Object-Oriented Programming Laboratuvar 11

Nesne Tabanlı Programlama

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Hafta 12 Karakter Tutan Diziler

C++ Operatörler (Operators)

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

ALGORİTMA VE PROGRAMLAMA II

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

Pointers (İşaretçiler)

C++ Dersi: Nesne Tabanlı Programlama

12- HAZIR FONKSİYONLAR

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

Yrd. Doç. Dr. Caner ÖZCAN

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

Genel Programlama II

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

YZM 2105 Nesneye Yönelik Programlama

Göstericiler (Pointers)

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

/*int sayi1, sayi2,toplam=0;

NESNEYE YÖNELİK PROGRAMLAMA

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Transkript:

String ve Karakter Dizileri

#include <iostream> Temel giriş çıkış akımları nesnelerinin tanımlandığı kütüphanedir. cin,cout,cerr,clog, wcin,wcout,wcerr,wclog nesneleri içerir. using namespace std; //std altındaki bütün nesneler doğrudan kullanılır. using std::cout; //temel çıkış birimi using std::cin; //temel giriş birimi char klavyedenokunandeger; cout<< Merhaba ; cin>>klavyedenokunandeger; Yukardaki ifadeler verilmeyince aşağıdaki gibi kullanılmalıdır. std::cout<< Merhaba ; std::cin >> klavyedenokunandeger;

Char z ile ifade edilen char değeri Ascii kodu ile karşılık bulur. z sayısal değeri 122 dir.

String C dili String karakter dizisidir ve \0 ile biter. Değişken bir işaretçidir. C++ dili string <string> içinde tanımlı sınıf nesnesidir. değişik özellik ve metotlar içerir. char cs[ ] = Kelime ; // C-string string s = Kelime ; // C++ - string cout << s << << s.length() << adet ahrf içerir.\n ; s.replace(5, 2, i ); // son harfi i yapar.

String C String ifadesi çift tırnak arası verilen sabit metin bellekte bir işaretcidir. Char dizisi ile String ataması: char dizisi sonunda \0 yer alır. char renk[] = beyaz ; 0 1 2 3 4 5 renk[] b e y a z \0

String C Benzer atamalar: char renk2[] ={ b, e, y, a, z, \0 }; char *renk3= beyaz ; işaretçi b harfinin adresini tutar (renk3=0xa01) string dizisinin bittiğini nul karakteri (\0) belirtir...... 0xA00. 0xA01 b 0xA02 e 0xA03 y 0xA04 a 0xA05 z 0xA06 \0 0XA07.

Temel G/Ç ile String Okuma/Yazma C char kelime[20]; cin>>kelime; okunan değeri boşluk veya EOF karakterine kadar kelime değişkenine aktarır. Okunacak kelime max 19 harf alabilir. Son harf \0 olacağı için.

cin.getline cin.getline(dizi, boyut, ayraç); char cumle[101]; cin.getline(cumle,101, \n ); Okunacak satır max 100 harf olabilir. (Dizideki son karakter \0 olacağı için.) Enter tuşu (\n) görülünceye kadar karakter okunarak cumle değişkenine aktarılır.

String C++ Ekran çıktısı:

String C++ C++ string nesneleri < > == ile karşılaştırılır. if(string1>string2){. + ve += operatörleri ile metin ekleme yapılabilir. string sehir = Kayseri ; string ilce = Melikgazi ; string adres = ilce + / +sehir; string ilkucharf= sehir.substr(0,3); s.erase(basl,adet); //basl itibaren adet karakteri sil. s.replace(2,4, 123 ); //2.indisten itibaren 4 karakteri sil yerine123 ilave et. int ayracindisi = adres.find( / );

String C++ atama işlemi string s1 = Erciyes ; string s2 = s1; string s3.assign(s1); s2 ve s3 ayrı birer değişkendir. string s4.assign(s1,4,3); //yes s2[0]=s4[2]; //tek değer erişimi ve ataması

String C++ ilave işlemi string s1 = Erciyes ; s1.append( Üniversitesi ); ya da s1 += Üniversitesi ; s1.append(baskastr,baslangic, adet); s1.substr(start, N); //N karakter başlangıçtan itibaren s1.swap(s2); //değişken değerlerini değiştirir.

String C++ işlemler ==!= < > <= >= karşılaştırma işlemleri için işaretler haricinde compare metotları kulllanılır. s1.compare(s2); s1.compare(start,length,s2,start,length); s1.compare(start, length, s2)

String C++ s1.size() veya s1.length(); // karakter sayısı s1.capacity(); // yeniden yerleştirme yapmadan tutulabilecek karakter sayısı s1.max_size(); // olabilecek en büyük boyut s1.resize(yeniuzunluk); // verilen uzunluğa ayarlar.

String C++ s1.size() veya s1.length(); // karakter sayısı s1.capacity(); // yeniden yerleştirme yapmadan tutulabilecek karakter sayısı s1.max_size(); // olabilecek en büyük boyut s1.resize(yeniuzunluk); // verilen uzunluğa ayarlar.

String C++ arama metotları sonuç olarak indisi döndürür. s1.find(s2); s1.rfind(s2); //sağdan sola arama s1.find_first_of(s2);//s2 içindeki karakterden herhangi birinin ilk karşılaşıldığı indis döndürür. s1.find_last_of(s2); //s2 karakterlerinden herhangi birinin s1 içinde son geçtiği indis s1.find_first_not_of(s2); // s2 içinde yeralmayan s1 stringinin ilk karakter indisi s1.find_last_not_of(s2); // s2 içinde yer almayan s1 in son karakteri indisi

String C++ s1.erase(baslangic); //sona kadar siler. s1.replace (baslangic, N, s2); s1.replace(baslangic, N, s2, index,adet); s1.insert(indis, s2); s1.insert(indis, s2,indis, N);

C++ String C Char* Dönüşümü string s = Bu bir cümledir. ; const char * cstringdegiskeni = s.c_str(); cout<< s.length()<<endl; // length() metodu ile harf sayısı

cstring kütüphanesi #include <cstring> C dili char dizisi için kullanılan metotlar : 1. string işleme fonksiyonları 2. string değişkenleri karşılaştırma 3. karakter veya string arama 4. birim string değerlere parçalama

cstring metotları Dönüş tipi metot adı parametreler açıklama char* strtok (char *s1, const char* s2) s1 metnini parçalara ayırır. s2 metninin içindeki karakterleri ayraç olarak kullanır. Her parçalama sonrası kelimeyi işaretçi olarak gönderir. Aynı komut sonraki çağrılarda ilk parametre null verilir. geri dönüşü null olduğunda parçalama bitmiştir. int strncmp (const char *s1, const char* s2, size_t n) s1 in n karakterini ve s2 içindeki metni karşılaştırır. s1=s2 ise 0, s1<s2 ise negatif s1>s2 ise pozitif döndürür. int strlen (const char *s) s metninin karakter sayısını verir.

cstring metotları -2 Dönüş tipi metot adı parametreler açıklama strcpy (char *s1, const char* s2) s2 sabiti içindeki karakterleri s1 içine kopyalar. s1 işaretçisini geri döndürür. char* strncpy strcat (char *s1, const char* s2, size_t n ) (char *s1, const char* s2) s2 sabiti içindeki n adet karakterleri s1 içine kopyalar. s1 işaretçisini geri döndürür. s2 sabiti içindeki karakterleri s1 içindeki metinin sonuna ilave eder. s1 işaretçisini geri döndürür. s1 içindeki null (\0) karakteri ötelenir, ilave edilenlerin sonuna konulur. strncat (char *s1, const char* s2, size_t n ) s2 sabiti içindeki n adet karakterleri s1 içindeki metinin sonuna ilave eder. s1 işaretçisini geri döndürür. int strcmp (const char *s1, const char* s2) s1 ve s2 içindeki metni karşılaştırır. s1=s2 ise 0 s1<s2 ise negatif s1>s2 ise pozitif döndürür.

cstring metotları -3 Dönüş tipi const char* char* metot adı parametreler açıklama strchr strchr (const char *s1, int karakter) (char *s1, int karakter) verilen karakterin ilk bulunduğu pozisyonun işaretçisini döndürür. size_t strcspn (const char* str1, const char* keys); str1 içinde karakterleri tarayarak keys ile verilen harflerden ilk rastladığı pozisyonun indisini geri döndürür. const char* char* strpbrk strpbrk (const char *s1, const char *s2) (char *s1, const char *s2) s2 içinde geçen harflerden birinin s1 içinde ilk karşılaşıldığı işaretçisini döndürür.

Örnekler cümle içindeki ilk rakamı bulan strcspn örneği sesli harfleri bulan strpbrk örneği string eşleştirmesi strcmp örneği *http://www.cplusplus.com/reference/cstring/strpbrk/

String stream işlemleri #include <sstream> #include <iostream> Bellek üzerinden string G/Ç işlemleri istringstream //string üzerinden giriş sınıfı ostringstream // string e çıkış sınıfı stringstream(stringdegisken); istringstream(stringdegisken); ostringstream(stringdegisken);

String stream işlemleri

String stream işlemleri const string buffer = oss.str(); istringstream iss(buffer); string kelime; int m; float y; iss >> kelime >> m >> y; s = iss.str(); cout << endl << s << endl; cout << "kelime = " << kelime << endl; cout << "m = " << m << endl; cout << "y = " << y << endl;