EEM-120 Algoritma ve Programlama II Dersi
2022-2023 Bahar Dönemi Konu 2
Stringler
#include <stdio.h>
int main() {
char a;
printf("char turunun bellekteki boyutu: %d\n",sizeof(a));
a=120;
printf("a: %d\n",a);
printf("a: %c\n",a);
a='a';
printf("a: %d\n",a);
printf("a: %c\n",a);
a=110;
printf("a: %d\n",a);
printf("a: %c\n",a);
a=60;
printf("a: %d\n",a);
printf("a: %c\n",a);
return 0;
}
char turunun bellekteki boyutu: 1 a: 120 a: x a: 97 a: a a: 110 a: n a: 60 a: <
#include <stdio.h>
int main() {
char a[11]="abcdefghij";
a[4]='\0';
printf("%s",a);
}
abcd
#include <stdio.h>
int main() {
char a[11]={'x','y','z'};
int i;
for(i=0;a[i]!='\0';i++)
printf("%c:%d ",a[i],a[i]);
printf("\n%s",a);
}
x:120 y:121 z:122 xyz
#include <stdio.h>
int main() {
char a[11]="xyzz";
int i;
for(i=0;a[i]!='\0';i++)
printf("%c:%d ",a[i],a[i]);
printf("\n%s",a);
}
x:120 y:121 z:122 z:122 xyzz
#include <stdio.h>
int main() {
char a[11]="xyzabc";
char *p;
for(p=a;*p!='\0';p++)
printf("%c-",*p);
}
x-y-z-a-b-c-
#include <stdio.h>
int main() {
char a[11]="xyzabc";
char *p;
a[1]='1';
a[3]='2';
for(p=a;*p!='\0';p++)
printf("%c-",*p);
printf("\n%s",a);
}
x-1-z-2-b-c- x1z2bc
#include <stdio.h>
int main() {
char a[11]="xyzabc";
printf("%10s\n",a);
printf("%.4s\n",a);
}
xyzabc xyza
#include <stdio.h>
int main() {
char str[11];
printf("bir metin giriniz: ");
scanf("%s",str);
printf("girilen metin: %s",str);
}
bir metin giriniz: abcdefghi girilen metin: abcdefghi
#include <stdio.h>
int main() {
char a[11];
printf("bir metin giriniz: ");
gets(a);
printf("girilen metin: %s",a);
}
#include <stdio.h>
int main() {
char a[10];
printf("bir metin giriniz: ");
gets(a);
printf("girilen metin: %s",a);
}
#include <stdio.h>
int main() {
char a[5];
char ch;
int i=0;
printf("bir metin giriniz: ");
while((ch=getchar())!='\n'){
if(i<4)
a[i++]=ch;
}
a[i]='\0';
printf("girilen metin: %s",a);
}
#include <stdio.h>
#define N 50
int main() {
char a[N];
int i, bosluk=0;
printf("bir metin giriniz: ");
gets(a);
for(i=0;a[i]!='\0';i++)
if(a[i]==' ')
bosluk++;
printf("metindeki bosluk sayisi: %d",bosluk);
}
#include <stdio.h>
#define N 50
int bosluklari_say(char str[]){
int bosluk=0,i;
for(i=0;str[i]!='\0';i++)
if(str[i]==' ')
bosluk++;
return bosluk;
}
int main() {
char a[N];
int i, bosluk=0;
printf("bir metin giriniz: ");
gets(a);
printf("metindeki bosluk sayisi: %d",bosluklari_say(a));
}
#include <stdio.h>
#define N 50
int bosluklari_say(char str[]){
int bosluk=0,i;
for(i=0;str[i]!='\0';i++)
if(str[i]==' ')
bosluk++;
str[3]='a';
return bosluk;
}
int main() {
char a[N];
int i, bosluk=0;
printf("bir metin giriniz: ");
gets(a);
printf("metindeki bosluk sayisi: %d\n",bosluklari_say(a));
printf("metin: %s",a);
}
#include <stdio.h>
#define N 50
int bosluklari_say(const char str[]){
int bosluk=0,i;
for(i=0;str[i]!='\0';i++)
if(str[i]==' ')
bosluk++;
//str[3]='a';
return bosluk;
}
int main() {
char a[N];
int i, bosluk=0;
printf("bir metin giriniz: ");
gets(a);
printf("metindeki bosluk sayisi: %d\n",bosluklari_say(a));
printf("metin: %s",a);
}
#include <stdio.h>
#define N 50
int bosluklari_say(const char str[]){
int bosluk=0;
for(;*str!='\0';str++)
if(*str==' ')
bosluk++;
return bosluk;
}
int main() {
char a[N];
int i, bosluk=0;
printf("bir metin giriniz: ");
gets(a);
printf("metindeki bosluk sayisi: %d\n",bosluklari_say(a));
printf("metin: %s",a);
}
#include <stdio.h>
#define N 50
int main() {
char a[N]="abc def", b[N];
int i;
for(i=0;a[i]!='\0';i++)
b[i]=a[i];
b[i]='\0';
printf("b stringi: %s",b);
}
b stringi: abc def
#include <stdio.h>
#include <string.h>
#define N 50
int main() {
char a[N]="abc def", b[N];
strcpy(b,a);
printf("b stringi: %s",b);
}
b stringi: abc def
#include <stdio.h>
#include <string.h>
#define N 50
void string_kopyala(char hedef[], const char kaynak[]){
for(;*kaynak!='\0';kaynak++, hedef++)
*hedef=*kaynak;
}
int main() {
char a[N]="abc def", b[N];
strcpy(b,a);
printf("b stringi: %s",b);
}
b stringi: abc def
#include <stdio.h>
#define N 20
int main() {
char a[N];
int i, uzunluk=0;
printf("bir metin giriniz: ");
gets(a);
for(i=0;a[i]!='\0';i++)
uzunluk++;
printf("girilen metnin uzunlugu: %d", uzunluk);
}
#include <stdio.h>
#define N 20
int main() {
char a[N];
int i;
printf("bir metin giriniz: ");
gets(a);
for(i=0;a[i]!='\0';i++);
printf("girilen metnin uzunlugu: %d", i);
}
#include <stdio.h>
#define N 20
int uzunluk(char kar_dizisi[]){
int i;
for(i=0;kar_dizisi[i]!='\0';i++);
return i;
}
int main() {
char a[N];
printf("bir metin giriniz: ");
gets(a);
printf("girilen metnin uzunlugu: %d", uzunluk(a));
}
#include <stdio.h>
#include <string.h>
#define N 20
int main() {
char a[N];
printf("bir metin giriniz: ");
gets(a);
printf("girilen metnin uzunlugu: %d", strlen());
}
#include <stdio.h>
#include <string.h>
#define N 20
int uzunluk(const char *str){
int i=0;
for(;*str!='\0';str++,i++);
return i;
}
int main() {
char a[N];
printf("bir metin giriniz: ");
gets(a);
printf("girilen metnin uzunlugu: %d", uzunluk(a));
}
Döngülerde 0 durumunun kontrol edilmesi
#include <stdio.h>
int main(){
int i=10;
while(i>0){
printf("%d ",i);
i--;
}
return 0;
}
10 9 8 7 6 5 4 3 2 1
#include <stdio.h>
int main(){
int i=15;
while(i)
printf("%d ",i--);
return 0;
}
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
#include <stdio.h>
int main(){
int i;
for(i=15;i;i--)
printf("%d ",i);
return 0;
}
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
string uzunluğu ile ilgili örnekler
#include <stdio.h>
int main(){
char a[100]="bu bir metindir.";
int n;
for(n=0;a[n]!='\0';n++);
printf("%s \nstringinin uzunluğu: %d",a, n);
return 0;
}
bu bir metindir.
stringinin uzunluğu: 16
#include <stdio.h>
int main(){
char a[100]="bu bir metindir1.";
char *p;
int n;
for(n=0, p=a; *p!='\0'; n++, p++);
printf("%s \nstringinin uzunluğu: %d",a, n);
return 0;
}
bu bir metindir1.
stringinin uzunluğu: 17
#include <stdio.h>
int main(){
char a[100]="bu bir metindir12.";
char *p=a;
int n=0;
while(*p!='\0'){
n++;
p++;
}
printf("%s \nstringinin uzunluğu: %d",a, n);
return 0;
}
bu bir metindir12.
stringinin uzunluğu: 18
#include <stdio.h>
int main(){
char a[100]="bu bir metindir123.";
char *p=a;
int n=0;
while(*p++)
n++;
printf("%s \nstringinin uzunluğu: %d",a, n);
return 0;
}
bu bir metindir123.
stringinin uzunluğu: 19
#include <stdio.h>
int uzunluk(const char *s){
int n=0;
while(*s++)
n++;
return n;
}
int main(){
char a[100]="bu bir metindir1234.";
printf("%s \nstringinin uzunluğu: %d",a, uzunluk(a));
return 0;
}
bu bir metindir1234.
stringinin uzunluğu: 20
#include <stdio.h>
int uzunluk(const char *s){
int n;
for(n=0;*s;s++,n++);
return n;
}
int main(){
char a[100]="bu bir metindir12345.";
printf("%s \nstringinin uzunluğu: %d",a, uzunluk(a));
return 0;
}
bu bir metindir12345.
stringinin uzunluğu: 21
#include <stdio.h>
int uzunluk(const char *s){
int n=0;
for( ;*s++; )
n++;
return n;
}
int main(){
char a[100]="bu bir metindir123456.";
printf("%s \nstringinin uzunluğu: %d",a, uzunluk(a));
return 0;
}
bu bir metindir123456.
stringinin uzunluğu: 22
#include <stdio.h>
int uzunluk(const char *s){
const char *p=s;
while(*s)
s++;
return s-p;
}
int main(){
char a[100]="bu bir metindir1234567.";
printf("%s \nstringinin uzunluğu: %d",a, uzunluk(a));
return 0;
}
bu bir metindir1234567.
stringinin uzunluğu: 23
#include <stdio.h>
int uzunluk(const char *s){
const char *p=s;
while(*s++);
return s-p-1;
}
int main(){
char a[100]="bu bir metindir12345678.";
printf("%s \nstringinin uzunluğu: %d",a, uzunluk(a));
return 0;
}
bu bir metindir12345678.
stringinin uzunluğu: 24
string birleştirme örnekleri
#include <stdio.h>
int main(){
char a[10]="abc1234";
char b[10]="cde234";
char c[20];
int i, j;
for(i=0;a[i]!='\0';i++)
c[i]=a[i];
for(j=0;b[j]!='\0';j++, i++)
c[i]=b[j];
c[i]='\0';
printf("%s",c);
return 0;
}
abc1234cde234
#include <stdio.h>
int main(){
char a[10]="abc1234";
char b[10]="cde234";
char c[20];
char *p, *q;
for(p=a, q=c; *p; p++, q++)
*q=*p;
for(p=b; *p; p++, q++)
*q=*p;
*q='\0';
printf("%s",c);
return 0;
}
abc1234cde234
#include <stdio.h>
int main(){
char a[20]="abc1234";
char b[10]="cde234";
char *p, *q;
for(p=a; *p; p++);
for(q=b; *q; p++, q++)
*p=*q;
*p='\0';
printf("%s",a);
return 0;
}
abc1234cde234
#include <stdio.h>
char *birlestir(char *str1, const char *str2){
char *p=str1;
while(*p!='\0')
p++;
while(*str2!='\0'){
*p=*str2;
str2++;
p++;
}
*p='\0';
return str1;
}
int main(){
char a[20]="abc1234";
char b[10]="cde234";
printf("%s",birlestir(a,b));
return 0;
}
abc1234cde234
#include <stdio.h>
char *birlestir(char *str1, const char *str2){
char *p=str1;
while(*p) p++;
while((*p++ = *str2++));
return str1;
}
int main(){
char a[20]="abc1234";
char b[10]="cde234";
printf("%s",birlestir(a,b));
return 0;
}
abc1234cde234
string karşılaştırma
#include <stdio.h>
#include <string.h>
int main(){
char a[10]="abc";
char b[10]="abc";
printf("abc-abc: %d\n",strcmp(a,b));
//a="abd";
strcat(a,"abd");
printf("abd-abc: %d\n",strcmp(a,b));
//b="abe";
strcat(b,"abe");
printf("abd-abe: %d\n",strcmp(a,b));
return 0;
}
abc-abc: 0
abd-abc: 97
abd-abe: -1
string dizileri
#include <stdio.h>
int main(){
char gezegenler[9][15]={"Merkur","Venus","Dunya","Mars",
"Jupiter","Neptun","Uranus","Saturn", "Pluton"};
int i;
printf("Gezegenler\n");
for(i=0;i<9;i++)
printf("%s\n",gezegenler[i]);
return 0;
}
Gezegenler
Merkur
Venus
Dunya
Mars
Jupiter
Neptun
Uranus
Saturn
Pluton
#include <stdio.h>
int main(){
char *gezegenler[9]={"Merkur","Venus","Dunya","Mars",
"Jupiter","Neptun","Uranus","Saturn", "Pluton"};
int i;
printf("Gezegenler\n");
for(i=0;i<9;i++)
printf("%s\n",*(gezegenler+i));
return 0;
}
Gezegenler
Merkur
Venus
Dunya
Mars
Jupiter
Neptun
Uranus
Saturn
Pluton
#include <stdio.h>
int main(){
char *gezegenler[]={"Merkur","Venus","Dunya","Mars",
"Jupiter","Neptun","Uranus","Saturn", "Pluton"};
int i;
printf("M harfi ile başlayan gezegenler\n");
for(i=0;i<9;i++)
if( (*(gezegenler+i))[0]=='M')
printf("%s\n",*(gezegenler+i));
return 0;
}
M harfi ile başlayan gezegenler
Merkur
Mars
komut satırı parametreleri
#include <stdio.h>
int main(int argc, char *argv[]) {
int i;
printf("%d\n",argc);
for(i=0;i<argc;i++)
printf("%s\n",*(argv+i));
return 0;
}
#include <stdio.h>
int main(int argc, char *argv[]) {
char *gezegenler[]={"Merkur","Venus","Dunya","Mars",
"Jupiter","Neptun","Saturn","Uranus","Pluton"};
int i;
char arg;
//printf("komut satiri arguman sayisi: %d\n",argc);
if(argc>1)
arg=argv[1][0];
arg=arg-'1';
if(arg>=0 && arg<=9)
printf("secilen gezegen %s",gezegenler[arg]);
else
printf("hatali secim ");
//for(i=0;i<argc;i++)
// printf("%s\n",argv[i]);
return 0;
}
#include <stdio.h>
#include <string.h>
void buyuk_harfe_cevir(char kaynak[], char hedef[]){
int i;
for(i=0;kaynak[i]!='\0';i++){
if(kaynak[i]>='a' && kaynak[i]<='z')
hedef[i]=kaynak[i]-('a'-'A');
else
hedef[i]=kaynak[i];
}
hedef[i]='\0';
}
int main(int argc, char *argv[]) {
char a[100], b[100];
printf("Bir metin giriniz");
// gets(a);
strcpy(a,"Bu bir metindir.");
buyuk_harfe_cevir(a, b);
printf("\nSONUC: %s",b);
return 0;
}
Bir metin giriniz
SONUC: BU BIR METINDIR.
#include <stdio.h>
#include <string.h>
void buyuk_harfe_cevir(char kaynak[], char hedef[]){
int i;
for(i=0;kaynak[i]!='\0';i++){
hedef[i]=kaynak[i];
if(kaynak[i]>='a' && kaynak[i]<='z')
hedef[i] -= ('a'-'A');
}
hedef[i]='\0';
}
int main(int argc, char *argv[]) {
char a[100], b[100];
printf("Bir metin giriniz");
// gets(a);
strcpy(a,"Bu bir metindir.");
buyuk_harfe_cevir(a, b);
printf("\nSONUC: %s",b);
return 0;
}
Bir metin giriniz
SONUC: BU BIR METINDIR.
#include <stdio.h>
#include <string.h>
int palindrom(char str[]){
int uzunluk,i;
for(i=0; str[i]!='\0';i++);
uzunluk=i;
for(i=0;i<uzunluk;i++)
if(str[i]!=str[uzunluk-i-1])
return 0;
return 1;
}
int main(int argc, char *argv[]) {
char a[100];
printf("Bir metin giriniz");
// gets(a);
strcpy(a,"ey edip adanada pide ye");
if(palindrom(a)==1)
printf("\ngirilen metin palindromdur: %s", a);
else
printf("\ngirilen metin palindrom degildir: %s", a);
return 0;
}
Bir metin giriniz
girilen metin palindromdur: ey edip adanada pide ye
#include <stdio.h>
#include <string.h>
int palindrom(char str[]){
int uzunluk,i;
for(i=0; str[i]!='\0';i++);
uzunluk=i;
for(i=0;i<uzunluk;i++)
if(str[i]!=str[uzunluk-i-1])
return 0;
return 1;
}
int main(int argc, char *argv[]) {
char a[100];
printf("Bir metin giriniz");
// gets(a);
strcpy(a,"ey edip adanada pide ye");
if(palindrom(a))
printf("\ngirilen metin palindromdur: %s", a);
else
printf("\ngirilen metin palindrom degildir: %s", a);
return 0;
}
Bir metin giriniz
girilen metin palindromdur: ey edip adanada pide ye
#include <stdio.h>
#include <string.h>
int iki_tabanindan_on_tabanina_donustur(char iki_tabani_sayi[]){
int i, ikinin_ussu=1;
int sayi_10=0;
int uzunluk=0;
for(i=0;iki_tabani_sayi[i]!='\0';i++);
uzunluk=i;
for(i=uzunluk-1;i>=0;i--){
if(iki_tabani_sayi[i]=='1')
sayi_10 += ikinin_ussu;
ikinin_ussu *= 2;
}
return sayi_10;
}
int main(int argc, char *argv[]) {
char sayi_2[32];
int sayi_10;
printf("İki tabaninda bir sayi giriniz: ");
// gets(sayi_2);
strcpy(sayi_2,"1011101011110100");
sayi_10 = iki_tabanindan_on_tabanina_donustur(sayi_2);
printf("\n%s 2 tabanindaki sayinin 10 tabanindaki karsiligi: %d", sayi_2, sayi_10);
return 0;
}
İki tabaninda bir sayi giriniz:
1011101011110100 2 tabanindaki sayinin 10 tabanindaki karsiligi: 47860