Showing posts with label kelimeyi tersten yazdırma. Show all posts
Showing posts with label kelimeyi tersten yazdırma. Show all posts
Friday, July 13, 2012
String işlemleri, Substring (C#)
String türü char(karekter) türlerinin birleşmesiyle oluşan bir türdür. string türündeki her ifade aynı zamanda char türündendir.
string ifadelerinin indexleri(sıralamaları) 0'dan başlar. merhaba kelimesinin 0. indexi m, 6. indexi ise a'dır.
string türünden bir değişken string x= "merhaba" şeklinde tanımlanır.
Substring Kullanımı:
string ifadeler charlardan oluşuyor demiştik. her char bir indexte yer tutar. string türündeki bir değişkenin içersindeki char elemanlara
ulaşmak için Substring methodundan yararlanırız.
Substring methodu, değişkenadı.Substring(değişkenin almak istediğimiz kısmının başlangıç indexi, başlangıç indexinden itibaren alınacak index sayisi)
yani;
string x= "merhaba";
x.Substring(2,2);
işlemi bize "rh" çıktısını verecektir.
String[] Kullanımı;
string[] ifadesi ile [] içersindeki index numarasını yazdıgımız elemana ulaşırız. elde ettiğimiz elemanın türü char türünden olacaktır.
[] içersine sadece 1 adet index numarası girebiliriz.
string x= "merhaba";
x[0];
işlemi bize "m" çıktısını verir.
string.Lenght Kullanımı;
string.Lenght ile değişkenimizin uzunluğunu bulabiliriz. Lenght ifadesi ile uzunluğu alınan string ifadelerinin başlangıç indexi 1 olarak alınır.
string x= "merhaba";
x.Lenght;
işlemi bize 7 sonucunu verecektir.
örnek: bir kelimenin ilk olarak uzunluğunu bulan, ardından bu kelimeyi tersten ve düzden yazılışını ekrana yazdıran program;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace stringkullanimi
{
class Program
{
static void Main(string[] args)
{
string x;
int i,a;
x = "galatasaray"; /* string türünden tanımladığımız x değişkenine galatasaray değerini verdik.*/
a = x.Length; /* galatasay kelimesinin uzunluğunu Lenght methodu a değişkenine atadık. */
for (i = a-1; i>=0; i--) /* açtığımız for döngüsünü string ifadeler 0.indexten başladığı için uzunluk - 1
den başlattık(11-1). değer 0 olasıya kadar birer birer azalttık. döngü değeri
10-9-..0 olarak dönecek.*/
{
Console.Write(x[i]); /* ekrana string türünden x değişkenin 10. indexinden itabaren 0. indexe
kadar yazdırmaya başladık. */
}
Console.Write("\n" + x.Substring(0, a)); /* arada boş bi satır olması için \n komutunu kullandık. ve
substring methodu ile galatasaray değerinin 0. indexinden
11. indexe kadar yazdırmasını söyledik. */
Console.ReadLine();
}
}
}
Monday, May 21, 2012
Karakter(katar) dizileri
Katar dizileri char türden dizilerdir. Katar dizileri özellik olarak diğer dizelere benzerlik gösterir. Char türden diziler daha çok içlerinde yazı tutmak için
tanımlanırlar.char türden bir dizinin içinde bir yazı tutmanın dışında küçük tamsayıları tutmak amacıyla da kullanılabilinir.
char katar[100];
şeklinde tanımlanan katar dizisi bütün elemanları char türden olan 100 elemanlı bir dizidir.
char türden bir dizi içinde bir yazı tutmak demek, dizinin her bir elemanına sırayla yazının bir karakterini atamak anlamına gelir.
galatasaray kelimesinin karakterlerini dizi adli bir katar dizisine tutulması;
char dizi[100]; ise
0.index g
1.index a
2.index l
..
11.index y şeklinde tutulur.
Null (\0) Karekteri;
'\0' karakteri karakter dizileri üzerinde yapılan işlemleri hızlandırmak için kullanılır. Örneğin int türden bir dizi kullanıldığında dizi elemanları üzerinde
döngüleri kullanarak işlem yaparken dizi uzunluğunun mutlaka bilinmesi gerekmektedir. Ama char türden diziler söz konusu olduğunda artık dizi uzunluğunu
bilmemiz gerekmez, çünkü yazının sonunda '\0' karakter bulunacağından, kontrol ifadelerinde budurum test edilerek yazının sonuna gelinip gelinmediği anlaşılır. Ancak '\0' karakterin, karakter dizilerinde yazıların son elemanı olarak kullanılmasının dezavantajı da diziye fazladan bir karakter yani
'\0' karakteri eklemek zorunluluğudur. Bu nedenle 10 elemanlı bir diziye en fazla 10 – 1 tane karakter girilebilinir.
char dizi[3] =”Ali”; C++'da hata verir. nedeni ise;
1. 'A' dizi[0]
2. 'l' dizi[1]
3. 'i' dizi[2]
... buraya bu durumda null karakteryerleştirilmiyor.(sonuncu index dolu.)
Şimdi dizi adlı katar dizisinin elemanlarını ekrana yazdırmak istersek ne yapmalıyız?
char dizi[100]="galatasaray";
for(i=0; i<100; i++)
cout<<dizi[i];
ifadesini kullanırsak program galatasaray harflerini yazdırdıktan sonraki indexleri boş olarak ekrana yazdırmaya devam eder. bu boş indexleri \0 simgeler.
yani;
char dizi[4]= "ali" olsun 1.index a, 2.index l, 3.index i, 4.index ise \0 olur . '\o' null değeri olarak ifade edilir. belli bir karekteri ifade etmez.
örnek; dizi uzunluğunu bulan program;
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
int i=0;
char dizi[20] = "galatasaray";
while(dizi[i] != '\0') //0 dan baslayan dizinin index teki sayi null değerine eşit olmadığı sürece döngüye gir
ve i yi 1 arttır.\0 ' ' içine yazılır.
i++;
cout<<"uzunluk: " << i;
getch();
}
örnek; çok boyutlu karakter dizisi kullanımı;
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char dizi[][8] = {"ali","veli","mesut","adem"};
cout<<dizi[1]; //ekrana veli yazar.
getch();
}
örnek; klavyeden girilen kelimeyi tersten yazdıran program;
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
int i=0;
int k;
char dizi[20];
cout<<"kelime giriniz: ";
gets(dizi);
while(dizi[i] != '\0') //dizinin uzunluğunu bulmak için 0dan başlayan dizi index inin Null olmadığı kontrol
ettirdik. Null değerine ulaşınca döngü bitecek.
i++;
for(k=i; k>=0; k--)//k değerini dizi uzunluğuna atadık. dizi uzunluğu 0 a eşitlenesiye kadar teker teker
değeri düşecek. uzunluğun numarasındaki indexte yer alan karekter ilk olarak
devamında 0ncı indexteki karaktere kadar tek tek ekrana yazılacak. kelime mal ise
ilk olarak 2.indexteki l ardından 1.endexteki a son olarak 0.indexteki m yazılacak
kelime lam olacak.
cout<< dizi[k];
getch();
return 0;
}
String olarak dizi tanımlama;
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
string dizi[10]={"sifir","bir","iki","uc","dort"}; //index numarası ile dizideki elemanların satırlarına ulaşılabilir.
cout<< dizi[3];
getch();
return 0;
}
Katarları Kopyalama;
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char dizi[30];
strcpy(dizi,"sampiyon");
puts(dizi);
getch();
return 0;
}
katarları birleştirme;
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char dizi[30]="galatasaray";
strcat(dizi,"sampiyon");
puts(dizi);
getch();
return 0;
}
Puts ve Gets İfadeleri;
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char dizi[30];
//cin>>dizi; //yerine ;
gets(dizi); //kullanabiliriz fark olarak imlec alt satırdan başlar.
//cout<<dizi; // yerinede
puts(dizi); //kullanılabilinir.
getch();
return 0;
}
Dizinin uzunluğunu bulma;
strlen(dizi) kodu ile dizi adlı dizinin uzunluğunu bulabiliriz.
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
char dizi[30];
gets(dizi); //klavyeden değer girdirdik.
cout<<"dizininin boyutu" << strlen(dizi) << endl;
puts(dizi); //değerleri okuttuk.
getch();
return 0;
}
Subscribe to:
Posts (Atom)