arrays-strings Flashcards

(26 cards)

1
Q

dizi tanımlama ve ilk değer atama

A

int x[] = {1,2,3,4,5,6,7,8,9,10};
int y[10] = {0};
int z[10];

int i;
for (i = 0; i<10 ; i++) {
    z[i] = 0;
}

for (i = 0; i<10 ; i++) {
    printf("x: %d, y: %d, z: %d",x[i],y[i],z[i]);
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

dizi elemanlarını toplama

A

int x[] = {1,2,3,4,5,6,7,8,9,10};
int i;
int toplam = 0;

for (i = 0; i<10 ; i++) {
    toplam += x[i];
}

printf("dizi elemanlari toplami: %d",toplam);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

dizi elemanlarını kullanıcıdan alma

A

????

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

dizi uzunluğu(eleman sayısı) bulma

A

int dizi[] = {6,2,4,6,8,10};
int elemanSayisi = sizeof(dizi) / sizeof(dizi[0]);
printf(“%d “,elemanSayisi);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

dizi elemanları sıralama - bubble sort

A

int a[10] = {2,6,4,8,10,12,89,68,45,37};
printf(“Orijinal siradaki dizi elemanlari \n”);

int i;
for (i = 0; i < 10; i++) {
    printf("%4d",a[i]);
}


int pass;
for (pass = 1; pass < 10; pass++) {
    for (i = 0; i < 10 - 1; i++) {
        if(a[i] > a[i + 1]){
            int hold = a[i];
            a[i] = a[i + 1];
            a[i + 1] = hold;
        }
    }
}

printf("\n Artan siradaki dizi elemanlari \n");

for (i = 0; i < 10; i++) {
    printf("%4d",a[i]);
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

kullanıcının girdiği sayıları girme sırasının tersi yönde yazdır

A

int N = 10;
int x[N];

int i;
for (i = 0; i < N; i++) {
    printf("Dizinin %d. elemani girin: ", i+1);
    scanf("%d",&x[i]);
}

for (i = N-1; i >= 0; i--) {
    printf("%d ",x[i]);
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Bir sınıftaki öğrencilerin 0 ile 100 arasında almış olduğu notlar
aşağıdaki dizi ile temsil edilmektedir:
int notlar[] = {78, 92, 65, 88, 75, 61, 90, 85, 77, 80, 95, 72, 87, 69, 84,
73, 98, 66, 81, 70};
1. Bu dizide kaç öğrencinin notu bulunmaktadır? (dizinin uzunluğunu
nedir?)
2. Sınıfın not ortalaması nedir?
3. En yüksek ve en düşük not kaçtır?
4. Sınıfta 85-100 arasında not alan kaç kişi vardır?

A

int notlar[] = {78, 92, 65, 88, 75, 61, 90, 85, 77, 80, 95, 72, 87, 69, 84,73, 98, 66, 81, 70};
int toplam = 0;
int uzunluk = sizeof(notlar)/sizeof(notlar[0]);
int max_not = notlar[0];
int min_not = notlar[0];
int yuksek_notlu_ogr_sayisi = 0;

int i;
for (i = 0; i < uzunluk; i++) {
    toplam = toplam + notlar[i];
    
    if (notlar[i] > max_not) {
        max_not = notlar[i];
    }
    
    if (notlar[i] < min_not) {
        min_not = notlar[i];
    }
    
    if(notlar[i] >= 85 && notlar[i] <= 100){
        yuksek_notlu_ogr_sayisi++;
    }
    
}

float ortalama = (float)toplam/uzunluk;

printf("Bu dizide %d ogrenci notu var. \n",uzunluk);
printf("Sinif ortalaması: %.2f\n",ortalama);
printf("En yuksek not: %d, En dusuk not: %d\n",max_not,min_not);
printf("Notu 85-100 arası ogr sayisi: %d",yuksek_notlu_ogr_sayisi);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

(AYNI SORU)kullanıcı dizi boyutu belirleyecek

A

int uzunluk;
printf(“Kac ogrencinin notunu gireceksiniz? “);
scanf(“%d”, &uzunluk);

 int notlar[uzunluk];
 int toplam = 0;
 int yuksek_notlu_ogrenci_sayisi = 0;

 int i;
 for (i = 0; i < uzunluk; i++) {
     printf("Lutfen %d. ogrencinin notunu girin (tam sayi): ", i + 1);
     scanf("%d", &notlar[i]);
     toplam += notlar[i];
 } // end for

 int uzunluk2 = sizeof(notlar) / sizeof(notlar[0]);
 int max_not = notlar[0];
 int min_not = notlar[0];

 for (i = 0; i < uzunluk; i++) {
     if (notlar[i] > max_not) {
         max_not = notlar[i];
     }

     if (notlar[i] < min_not) {
         min_not = notlar[i];
     }
     if (notlar[i] >= 85 && notlar[i] <= 100) {
         yuksek_notlu_ogrenci_sayisi++;
     }
 } // end for

 float ortalama = (float)toplam / uzunluk;

 printf("1) Bu dizide %d ogrencinin notu bulunmaktadir.\n", uzunluk);
 printf("2) Sinifin not ortalamasi: %.2f\n", ortalama);
 printf("3) En yuksek not: %d, en dusuk not: %d\n", max_not, min_not);
 printf("4) Notu 85-100 arasinda yer alan ogrenci sayisi: %d \n", yuksek_notlu_ogrenci_sayisi);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

string oluşturma

A

include <string.h></string.h>

char s[5] = “Selam”;
printf(“%s”,s);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

scanf ile kullanıcıdan karakter dizesi alma

A

char str[6];
printf(“En fazla 6 harflik bir kelime girin: “);
scanf(“%s”,str);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

scanf ile string okumak - scanf(“%[^\n]”, str)

A

char str[10];
printf(“Bir cumle giriniz: “);
scanf(“[^\n]”, str);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

string için karakter sınırı koymak

A

char str[5];
printf(“Bir kelime gir: “);
scanf(“%5s”,str);

printf("kelime: %s ",str);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

strlen(): karakter dizisinin uzunluğunu
hesaplama

A

char str[] = “BIL 141”;
int uzunluk = strlen(str);
printf(“Karakter dizi uzunlugu: %d”,uzunluk);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

strcpy() ve strcat(): bir karakter dizisini
diğerine kopyalama ve ekleme

A

char hedef[50] = “141”;
char kaynak[] = “BIL”;

strcpy(hedef, kaynak);
printf(“Kopyalanan: %s”,hedef);

strcat(hedef, “Dersi”);
printf(“Eklenme sonrası: %s”,hedef);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

strcmp(): iki karakter dizisini karşılaştırma

A

char str1[] = “BIL 141”;
char str2[] = “BIL 141”;
char str3[] = “BIL”;

int sonuc_1_2 = strcmp(str1, str2);  // sonucu dˆnd¸r¸r
int sonuc_1_3 = strcmp(str1, str3);

if (sonuc_1_2 == 0)
    printf("Iki karakter dizisi esittir. (%s, %s)\n", str1, str2);
else
    printf("Iki karakter dizisi esit degildir. (%s, %s)\n", str1, str2);

if (sonuc_1_3 == 0)
    printf("Iki karakter dizisi esittir. (%s, %s)\n", str1, str3);
else
    printf("Iki karakter dizisi esit degildir. (%s, %s)\n", str1, str3);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

strchr() ve strstr(): belirli bir karakteri ve bir alt
karakter dizisini karakter dizisi içinde arama

A

char str[] = “Bu bir ornek cumle.”;

// strchr():
char arananKarakter = 'r';
char *ptr = strchr(str, arananKarakter);

if (ptr != NULL)
    printf("Karakter bulundu: %c\n", arananKarakter);
else
    printf("Karakter bulunamadi.\n");

printf("The first occurrence of %c in '%s' is '%s'\n",
       arananKarakter, str, ptr);

// strstr():
char arananAltDizi[] = "ornek";
char *ptr2 = strstr(str, arananAltDizi);
if (ptr2 != NULL)
    printf("Alt karakter dizisi bulundu: %s\n", arananAltDizi);
else
    printf("Alt karakter dizisi bulunamadi.\n");
17
Q

sprintf() ve sscanf(): bir karakter dizisine veri
yazmak ve bir karakter dizisinden veri okumak

A

char hedef1[50];
char hedef2[50];
int sayi = 35;
int okunanSayi;
char okunanKelime[10];

// Veriyi karakter dizisine yazma (sprintf)
sprintf(hedef1,"Hedefe veri yazdm");
printf("Hedef1 dizisi: %s\n", hedef1);
sprintf(hedef1,"armut");
printf("Hedef1 dizisi: %s\n", hedef1);
sprintf(hedef2, "Bu bir tamsayi: %d", sayi);
printf("Hedef2 dizisi: %s\n", hedef2);

// Veriyi karakter dizisinden okuma (sscanf)
sscanf(hedef2, "Bu %s tamsayi: 35", &okunanKelime);
printf("Okunan kelime: %s\n", okunanKelime);
sscanf(hedef2, "Bu bir tamsayi: %d", &okunanSayi);
printf("Okunan sayi: %d\n", okunanSayi);

printf("string size: %d\n", strlen(okunanKelime));
18
Q

islower(c), isupper(c) ve tolower(c), toupper(c):
bir karakterin küçük/büyük harf kontrolü ve çevrimi

A

char c = ‘A’;

if (islower(c))
    printf("Karakter %c kucuk harftir.\n", c);
else if (isupper(c))
    printf("Karakter %c buyuk harftir.\n", c);


printf("Karakterin kucuk hali: %c\n", tolower(c));
printf("Karakterin buyuk hali: %c\n", toupper(c));
19
Q

isdigit(c), isalpha(c), isalnum(c), isxdigit(c): bir
karakterin rakam, harf, harf veya rakam, onaltılık
bir rakam olup olmadığının kontrolü

A

char c = ‘9’;

if (isdigit(c))  // isdigit(c): rakam (0-9)
    printf("%c bir rakamdir.\n", c);
else if (isalpha(c)) // isalpha(): harf (a-z veya A-Z)
    printf("%c bir harftir.\n", c);


if (isalnum(c)) // isalnum(): harf veya rakam
    printf("%c bir harf veya rakamdir.\n", c);

if (isxdigit(c)) // isxdigit(): onalt˝l˝k rakam (0-9, a-f veya A-F)
    printf("%c bir onaltilik rakamdir.\n", c);
20
Q

kullanıcıdan adını, soyadını ve öğrenci numarasını ayrı ayrı
alıp bunları birleştirin ve baş harflerini büyük yapın. Öğrenci
numarasının tam olarak 9 karakterden ve yalnızca
rakamlardan oluşup oluşmadığını kontrol edin ve koşul
sağlanana kadar öğrenci numarasını tekrar isteyen programı
yaz

A

char firstName[50];
char lastName[50];
char studentNumber[20];

printf("Adinizi giriniz: ");
scanf("%49s", firstName);
printf("Soyadinizi giriniz: ");
scanf("%49s", lastName);
printf("Ogrenci numaranizi giriniz: ");
scanf("%19s", studentNumber);

// Isimleri birlestirme
char fullName[150];
sprintf(fullName, "%s %s", firstName, lastName);

// Isimlerin bas harfi buyuk yapma
int i;
for (i = 0; i < strlen(fullName); i++) {
    if (i == 0 || fullName[i - 1] == ' ')
        fullName[i] = toupper(fullName[i]);
    else
        fullName[i] = tolower(fullName[i]);
} // end for

// Ogrenci numarasi duzenleme
int devam = 0;
do {
    for (i = 0; i < 9; i++) {
        if (!isdigit(studentNumber[i])) {
            devam = 1;
            break;
        }
        else
            devam = 0;
    } // end for
    if (strlen(studentNumber) != 9 || devam == 1){
        printf("Hata: Ogrenci numarasi 9 karakterden ve yalnizca rakamlardan olusmalidir.\n");
        printf("Ogrenci numaranizi giriniz: ");
        scanf("%19s", studentNumber);
        devam = 1;}
    else
        devam = 0;
}while(devam == 1); // end do-while

printf("Birlestirilmis bilgiler: %s, %s\n", fullName, studentNumber);
21
Q

3x4’lük int a dizisinin 2.satırındaki tüm elemanları sıfıra eşitle

A

int a[3][4];
for(int column = 0; column <= 3; column++){
a[2][column] = 0;
}

22
Q

3x4’lük int a dizisindeki elemanların toplamını alma

A

int total = 0;
for(int row = 0; row <= 2; row++{
for(int column = 0; column <= 3; column++){
total = total + a[row][column];
}
}

23
Q

iki boyutlu bir diziyi birim matrise çevirme

A

int matris[N][N];
int i,j;

for(i = 0; i<N; i++){
for(j = 0; j<N; j++){
if(i == j){
matris[i][j] = 1;
}else{
matris[i][j] = 0;
}
}
}

for(i = 0; i<N; i++){
for(j = 0; j<N; j++){
printf(“%d”,matris[i][j]);
}
printf(“\n”);
}

24
Q

bir matrisin transpozunu alma

A

int matris[3][3] = {
{1,2,3},
{4,5,6},
{7,8,9}
};

int transpoz[3][3];

int i,j;

for(i = 0; i<3; i++){
    for(j=0; j<3;j++){
        transpoz[i][j] = matris[j][i];
    }
}

printf("Transpoz matris: \n");
for(i = 0; i<3;i++){
    for (j=0; j<3; j++) {
        printf("%d ",transpoz[i][j]);
    }
    printf("\n");
}
25
kullanıcıdan kaç öğrencinin ve kaç sınavın notlarını gireceği bilgisini alıp bunu iki boyutlu notlar[öğrenci sayısı][sınav sayısı] matrisinde tutup, bu matrisi kullanarak her bir öğrencinin sınavlarının ortalamasını ve her bir sınavın not ortalamasını ekrana yazdıran programı yaz
???
26
Bir öğrenci yurduna gelen yeni öğrencilerin adlarını alfabetik sıraya göre sıralamak istiyorlar. Aşağıda, bu öğrencilerin adlarını temsil eden bir dizi bulunmaktadır: * Dizi: {"Zeynep", "Ahmet", "Elif", "Mehmet", "Gizem", "Berk", "Ebru", "Cem", "Deniz", "Ali"} * Bu adları alfabetik sıraya sıraladığınızda, en önce gelen ad hangisi
???