arrays-strings Flashcards

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
Q

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

A

???

26
Q

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

A

???