C ile Uygulamalar 3 - Cevaplar

Benzer belgeler
C ile Uygulamalar 4 - Cevaplar

C ile Uygulamalar 2 - Cevaplar

C ile Uygulamalar 1 - Cevaplar

Klavyeden girilen metnin karakter uzunluğu bulan C programı. Klavyeden girilen metin içerisindeki küçük ve büyük harf sayısını bulan C programı

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

Ders 7: Döngüler. Giriş. 7.1 while Döngüsü

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

C PROGRAMLAMA D İ L İ

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

BİL1001 Bilgisayar Bilimlerine Giriş 1

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

Strings(Karakter Dizisi)

Görsel Programlama 1

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

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

Başkent Üniversitesi MühendislikFakültesi BaharYarıyılı YerSıra No BİL 101 Bilgisayar Yazılımı-I Dersi Dönem Sonu MAZERET Sınavı

C# ÖRNEK UYGULAMALAR

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

Sınav tarihi : Süre : 60 dak.

BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ, MÜHENDİSLİK FAKÜLTESİ, BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BAHAR Y.Y. BM106 PROGRAMLAMA DİLLERİ 1, ARA SINAVI

Final Sınavı Soruları Güz, Süre: 90 Dakika

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Hafta 11 Çok Boyutlu Diziler

IF / ELSE IF / ELSE. Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, else if veya else ile devam eder.

elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

NOT: Bu kodlar çeşitli internet siteleri, üniversite siteleri ve ders kitaplarından derlenerek hazırlanmıştır.

Diziler (Arrays) Çok Boyutlu Diziler

BLM 111 ALGORİTMA VE PROGRAMLAMA I

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

Döngü blokunda tek bir deyim varsa {} yazılmayabilir.

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

SORU 1. Kullanıcıdan tamsayı tipinde 2 vektor değeri alınacak.(negatif ve pozitif sayılar olabilir) Girilen 2 vektör değeri toplanacak.

#include <stdio.h> main() { int i; i=0; do { printf("i nin simdiki degeri= %d\n",i); i = i + 1; } while (i<5); }

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

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

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

Giris {\} /\ Suhap SAHIN Onur GÖK

C# Çalışma Örnekleri

Final Sınavı Örnek Soruları Güz 2018 Süre: 90 Dakika

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

BLM 111 ALGORİTMA VE PROGRAMLAMA I

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

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

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

Eln 1002 Bilgisayar Programlama II

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

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Adım Adım C. Dr. Hidayet Takcı

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

Ders 6: Karşılaştırma Deyimleri

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Bölüm 8, Yrd. Doç. Dr. A. Kadir YALDIR PAÜ Bilgisayar Mühendisliği Bölümü BÖLÜM 8: DİZİLER

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

Programlama Dilleri Laboratuvarı

menu(besleme,toplam_odul,array,tercih,puan);//deger dondurmeyen fonksiyon cagiriliyor...

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Ders 4: Temel Giriş/Çıkış Fonksiyonları

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

// Aşağıdaki programın çıktısı nedir?

I=[1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1] % 4x4 lük birim matris

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

2. Dereceden Denklemin Köklerini Bulan Program

C PROGRAMLAMA D İ L İ

Fonksiyonlar (Altprogram)

BİLG Dr. Mustafa T. Babagil 1

Döngü ve Koşul Deyimleri

C# Örnek Uygulamalar I

Temel Giriş/Çıkış Fonksiyonları

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

C PROGRAMLAMA D İ L İ

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları)

YAPILAR (STRUCTURES)

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Hafta 12 Karakter Tutan Diziler

Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

C Programlama printf() Fonksiyonu

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

Adı Soyadı : Öğrenci No :

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

BÖLÜM 9: POINTERLER (İŞARETÇİLER)

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

C++ Dersi: Nesne Tabanlı Programlama

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

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

11. Bölüm. Başlangıç Örnekleri 2. ******************************** 52 lik kağıt destesini karıştıram program

D İ Z İ L E R A R R A Y S

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

Transkript:

C ile Uygulamalar 3 - Cevaplar Cevap-1: //Soru 1 int recursivefaktoriyel(int); //Fonksiyonun prototipi tanımlanmaktadır. int sayi; printf("faktoriyeli Hesaplanacak Sayiyi Giriniz:"); scanf("%d",&sayi); printf( "\n%d!=%d",sayi,recursivefaktoriyel(sayi) ); //recursivefaktoriyel fonksiyonunda hesaplanan sayının faktöriyeli ekrana yazdırılmaktadır. int recursivefaktoriyel(int sayi) //Sayının faktöriyelinin hesaplandığı öz yineleyici fonksiyon. if(sayi<=1) //sayi 1'den küçük eşit olduğu durumda if yapısına girilmekte ve 1 döndürülerek recursivefaktoriyel fonksiyonunun çağrımı durdurulmaktadır. return 1; return sayi*recursivefaktoriyel(sayi-1); omeryucel.wordpress.com 1

Cevap-2: //Soru 2 int recursivekuvvet(int,int); //Fonksiyonun prototipi tanımlanmaktadır. int x,n; printf("x Degerini Giriniz:"); scanf("%d",&x); printf("n Degerini Giriniz:"); scanf("%d",&n); printf( "\n%d^%d=%d",x,n,recursivekuvvet(x,n) ); //recursivekuvvet fonksiyonunda hesaplanan sayının kuvveti ekrana yazdırılmaktadır. int recursivekuvvet(int x,int n) //Girilen taban ve üst değerine göre sayının kuvvetinin hesaplandığı öz yineleyici fonksiyon. if(x==0) return 0; //0^n=0 if(x>0 && n==0) return 1; //x^0=1 if(x>0 && n==1) return x; //x^1=x if(x>0 && n>1) return x*recursivekuvvet(x,n-1); omeryucel.wordpress.com 2

Cevap-3: //Soru 3 void ucgen(char *); //Fonksiyonun prototipi tanımlanmaktadır. char kelime[30]; printf("bir Kelime Giriniz:"); gets(kelime); printf("\n"); ucgen(kelime); void ucgen(char *ifade) //Girilen kelimeye göre ters üçgenin oluşturulduğu fonksiyon. while(*ifade) //*ifade!=null printf("%s\n",ifade++); printf("%s\n",ifade); omeryucel.wordpress.com 3

Cevap-4: //Soru 4 int dizi[10]=1,2,3,4,5,6,7,8,9,10; int boyut=10,gecici; int i; printf("dizinin Ilk Hali: "); for(i=0;i<boyut;i++) printf("%d ",dizi[i]); for(i=0;i<boyut/2;i++) //Dizi ters çevrilmektedir. gecici=dizi[i]; dizi[i]=dizi[boyut-1-i]; dizi[boyut-1-i]=gecici; printf("\ndizinin Ters Cevrilmis Hali: "); for(i=0;i<boyut;i++) printf("%d ",dizi[i]); omeryucel.wordpress.com 4

Cevap-5: //Soru 5 int kelimesayisi(char *); //Fonksiyonların prototipleri tanımlanmaktadır. int karaktersayisi(char *); char cumle[100]; printf("bir Cumle Giriniz:"); gets(cumle); printf( "\ncumledeki Kelime Sayisi: %d",kelimesayisi(cumle) ); //kelimesayisi fonksiyonunda bulunan cümledeki kelime sayısı ekrana yazdırılmaktadır. printf( "\ncumledeki Karakter Sayisi: %d",karaktersayisi(cumle) ); //karaktersayisi fonksiyonunda bulunan cümledeki karakter sayısı ekrana yazdırılmaktadır. int kelimesayisi(char *cumle) //Girilen cümledeki kelime sayısının bulunduğu fonksiyon. int sayac=0,i=0; for(;*cumle!='\0';cumle++) //cumle'nin string sonu karakterine gelinmediği müddetçe döngü devam etmektedir. if(*cumle!=' ' && i==0) sayac++; i=1; else if(*cumle==' ') i=0; return sayac; int karaktersayisi(char *cumle) //Girilen cümledeki karakter sayısının bulunduğu fonksiyon. int i=0; while(cumle[i]!='\0') //cumle'nin string sonu karakterine gelinmediği müddetçe döngü devam etmektedir. omeryucel.wordpress.com 5

i++; //Karakter sayısının tespit edilmesi amacıyla i değişkeni her adımda arttırılmaktadır. return i; omeryucel.wordpress.com 6

Cevap-6: //Soru 6 int sayi; int birlik,onluk,yuzluk,binlik; do //do-while döngüsünde koşula bakılmaksızın döngüye en az bir kere girilmektedir. printf("dort Basamakli Bir Tam Sayi Giriniz:"); scanf("%d",&sayi); while(sayi<1000 sayi>9999); //Girilen sayı dört basamaklı bir sayı olduğunda döngüden çıkılmaktadır. binlik=sayi/1000; //Sayı basamaklarına ayrılmaktadır. yuzluk=( sayi-(binlik*1000) )/100; onluk=( sayi-(binlik*1000)-(yuzluk*100) )/10; birlik=( sayi-(binlik*1000)-(yuzluk*100)-(onluk*10) ); printf("\nbu Sayida;"); printf("\n%d Tane Binlik Sayi",binlik); printf("\n%d Tane Yuzluk Sayi",yuzluk); printf("\n%d Tane Onluk Sayi",onluk); printf("\n%d Tane Birlik Sayi Vardir.",birlik); omeryucel.wordpress.com 7

Cevap-7: //Soru 7 int sayi; int birler,onlar,yuzler; do //do-while döngüsünde koşula bakılmaksızın döngüye en az bir kere girilmektedir. printf("uc Basamakli Bir Tam Sayi Giriniz:"); scanf("%d",&sayi); while(sayi<99 sayi>1000); //Girilen sayı üç basamaklı bir sayı olduğunda döngüden çıkılmaktadır. yuzler=sayi/100; //Sayı basamaklarına ayrılmaktadır. onlar=( sayi-(yuzler*100) )/10; birler=( sayi-(yuzler*100)-(onlar*10) ); printf("uc Basamakli En Buyuk Tam Sayi: "); if(yuzler>=onlar && yuzler>=birler && onlar>=birler) //Sayının basamakları birbirleriyle karşılaştırılmaktadır. printf("%d%d%d",yuzler,onlar,birler); else if(yuzler>=onlar && yuzler>=birler && birler>=onlar) printf("%d%d%d",yuzler,birler,onlar); else if(onlar>=yuzler && onlar>=birler && yuzler>=birler) printf("%d%d%d",onlar,yuzler,birler); else if(onlar>=yuzler && onlar>=birler && birler>=yuzler) printf("%d%d%d",onlar,birler,yuzler); else if(birler>=yuzler && birler>=onlar && yuzler>=onlar) printf("%d%d%d",birler,yuzler,onlar); else printf("%d%d%d",birler,onlar,yuzler); omeryucel.wordpress.com 8

Cevap-8: //Soru 8 int binarysearch(int *,int,int); //Fonksiyonların prototipleri tanımlanmaktadır. void bubblesort(int *,int); void diziyazdir(int *,int); int dizi[10]=79,1,11,23,67,5,60,7,15,9; int aranan; short kosul; bubblesort(dizi,10); printf("dizide Aramak Istediginiz Sayiyi Giriniz:"); scanf("%d",&aranan); kosul=binarysearch(dizi,10,aranan); if(kosul==-1) //binarysearch fonksiyonundan -1 dönmesi halinde if yapısına girilmektedir. printf("aranan Sayi Dizide Bulunmamaktadir."); else printf("aranan Sayi Dizide %d.indisde Bulunmaktadir.",kosul); void bubblesort(int *dizi,int boyut) //Dizinin sıralandığı fonksiyon. int gecici,i,j; for(i=0;i<boyut-1;i++) for(j=0;j<boyut-1-i;j++) if( *(dizi+j)>*(dizi+j+1) ) gecici=*(dizi+j); *(dizi+j)=*(dizi+j+1); *(dizi+j+1)=gecici; omeryucel.wordpress.com 9

int binarysearch(int *dizi,int boyut,int aranan) //Dizide sayının arandığı fonksiyon. int ortadaki,sol=0,sag=boyut-1; while(sol<=sag) ortadaki=(sol+sag)/2; if( aranan==*(dizi+ortadaki) ) return ortadaki; else if( aranan>*(dizi+ortadaki) ) sol=ortadaki+1; else sag=ortadaki-1; return -1; //Aranan sayının dizide bulunamaması halinde -1 döndürülmektedir. omeryucel.wordpress.com 10

Cevap-9: //Soru 9 #define SATIR 5 //SATIR sabiti 5 olarak tanımlanmaktadır. #define SUTUN 5 //SUTUN sabiti 5 olarak tanımlanmaktadır. void altucgenselmatris(int [][SUTUN],int,int); //Fonksiyonların prototipleri tanımlanmaktadır. void matrisyazdir(int [][SUTUN],int,int); int matris[5][5]=0; //Matrisin tüm elemanları 0 olarak tanımlanmaktadır. altucgenselmatris(matris,satir,sutun); matrisyazdir(matris,satir,sutun); void altucgenselmatris(int matris[][sutun],int satir,int sutun) //Alt üçgensel matrisin oluşturulduğu fonksiyon. int i,j; for(i=0;i<satir;i++) for(j=0;j<sutun;j++) if(i>=j) matris[i][j]=1; //Matrisin i.satır ve j.sütunundaki eleman 1 yapılmaktadır. void matrisyazdir(int matris[][sutun],int satir,int sutun) //Matrisin ekrana yazdırıldığı fonksiyon. int i,j; for(i=0;i<satir;i++) for(j=0;j<sutun;j++) printf(" %d ",matris[i][j]); printf("\n"); omeryucel.wordpress.com 11

Cevap-10: //Soru 10 #define BOYUT 100 void satirhesapla(int [],int [],int); //Fonksiyonların prototipleri tanımlanmaktadır. void diziyazdir(int [],int); int dizi1[boyut]=1; int dizi2[boyut]=1,1; char hesaplanacakdizi='a'; //a karakteri dizi1 için, b karakteri dizi2 için kullanılmaktadır. int i,n; printf("pascal Ucgeninin Boyutunu Girin:"); scanf("%d",&n); diziyazdir(dizi1,1); diziyazdir(dizi2,2); for(i=3;i<=n;i++) if(hesaplanacakdizi=='a') satirhesapla(dizi1,dizi2,i); diziyazdir(dizi1,i); hesaplanacakdizi='b'; else satirhesapla(dizi2,dizi1,i); diziyazdir(dizi2,i); hesaplanacakdizi='a'; void satirhesapla(int d1[],int d2[],int elemansayisi) //Pascal üçgenine ait satırın hesaplandığı fonksiyon. omeryucel.wordpress.com 12

int i; d1[0]=1; for(i=1;i<elemansayisi-1;i++) d1[i]=d2[i-1]+d2[i]; d1[i]=1; void diziyazdir(int dizi[],int elemansayisi) //Dizinin ekrana yazdırıldığı fonksiyon. int i; for(i=0;i<elemansayisi;i++) printf("%5d",dizi[i]); printf("\n"); omeryucel.wordpress.com 13