C ile Uygulamalar 4 - Cevaplar

Benzer belgeler
C ile Uygulamalar 3 - 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ı

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

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

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

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

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

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

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

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

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

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

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

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

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

Programlama Dilleri Laboratuvarı

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

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

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

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

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

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

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

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

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

printf("\nbilgilerini goruntulemek istediginiz ogrencinin numarasini girin: "); scanf("%d",&no);

BİL1001 Bilgisayar Bilimlerine Giriş 1

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.

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ı

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

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Bil Hafta Çalışma Soruları (Yanıtlar)

PROGRAMLAMAYA GİRİŞ DERS 2

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

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

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

#include <stdio.h> int main(void) { float sayi; float * p; p = &sayi; printf("deger girin:"); scanf("%f", p); printf("girilen deger:%f\n", *p);

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

C PROGRAMLAMA D İ L İ

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

Giriş. ENF102 Jeoloji

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Dr. Fatih AY Tel: fatihay@fatihay.net

Diziler (Arrays) Çok Boyutlu Diziler

C# Çalışma Örnekleri

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

Döngü ve Koşul Deyimleri

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

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

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

Hafta 12 Karakter Tutan Diziler

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

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

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

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

Telefon Rehberi Uygulaması

C Programlama printf() Fonksiyonu

int printf (const char *format [, argument,...]);

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

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

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

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

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

BLM 111 ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I

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

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

Hafta 13 Fonksiyonlar

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE));

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

B tekrarlama kontrol komutları 7. do-while döngüsü 8. while döngüsü 9. for döngüsü

Fonksiyonlar (Altprogram)

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Görsel Programlama 1

Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

C# ÖRNEK UYGULAMALAR

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

PROGRAMLAMA. Dosyalama İşlemleri. Yrd. Doç. Dr. Bülent Çobanoğlu. Sakarya Üniversitesi Mekatronik Mühendisliği. Yrd.Doç.Dr.

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

Programlama Dilleri Laboratuvarı

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

ARA SINAV 07.Nisan 2015

STRİNG DİZİLER(KATARLAR)

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

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Fall Object-Oriented Programming Laboratory 02 - Structures

void main() { int a[] = {1, 2, 3, 4, 5, 6}; int *p=&a[2]; int **pp=&p; printf("%d", **pp+2); }

Strings(Karakter Dizisi)

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

Bil 101 Bilgisayar Yazılımı 1 Çözümlü Sorular Timur Karaçay

YAPILAR (STRUCTURES)

Adı Soyadı Öğrenci No. Toplam (100p) 2 (10p) +10p. 5 (25p) +10p. 3 (20p) 4 (25p) 1 (20p)

BÖLÜM 10: FONKSİYONLAR

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

İNTERNET TABANLI PROGRAMLAMA

Transkript:

C ile Uygulamalar 4 - Cevaplar Cevap-1: //Soru 1 #include <stdlib.h> //Standart kütüphane başlık dosyası. #include <time.h> //Tarih ve saat fonksiyonlarının yer aldığı başlık dosyası. int dizidensil(int *,int,int); //Fonksiyonun prototipi tanımlanmaktadır. srand( time(null) ); //Rastgele üretilen sayının zamana bağlı olarak sürekli farklı olması sağlanmaktadır. int dizi[20]; int boyut=20; int silinen,indis=-1; short kosul=0; int i,j; for(i=0;i<boyut;i++) dizi[i]=rand()%100+1; //1-100 arasında rastgele üretilen sayılar diziye atanmaktadır. for(j=0;j<boyut;j++) printf(" %d ",dizi[j]); printf("\n\ndiziden Silmek Istediginiz Sayiyi Giriniz:"); scanf("%d",&silinen); for(i=0;i<boyut;i++) //Silinmek istenen sayının dizideki konumu tespit edilmektedir. if(silinen==dizi[i]) indis=i; break; if(indis==-1) printf("%d Sayisi Dizide Bulunmamaktadir.",silinen); exit(0); //Program sonlandırılmaktadır. kosul=dizidensil(dizi,indis,boyut); omeryucel.wordpress.com 1

if(kosul==1) printf("\n%d Sayisi Diziden Basariyla Silinmistir.\n\n",silinen); for(j=0;j<boyut-1;j++) printf(" %d ",dizi[j]); int dizidensil(int *dizi,int indis,int boyut) //Sayının diziden silindiği fonksiyon. int i; for(int i=indis;i<boyut;i++) dizi[i]=dizi[i+1]; return 1; omeryucel.wordpress.com 2

Cevap-2: //Soru 2 int recursivetopla(int *,int); //Fonksiyonun prototipi tanımlanmaktadır. int dizi[5]=1,2,3,4,5; printf( "Dizideki Sayilarin Toplami: %d",recursivetopla(dizi,5) ); int recursivetopla(int dizi[],int elemansayisi) //Dizideki sayıların toplandığı fonksiyon. if(elemansayisi==1) return dizi[0]; return dizi[elemansayisi-1]+recursivetopla(dizi,elemansayisi-1); omeryucel.wordpress.com 3

Cevap-3: //Soru 3 int uzunluk,genislik; int i,j; printf("uzunluk:"); scanf("%d",&uzunluk); printf("genislik:"); scanf("%d",&genislik); for(i=1;i<=genislik;i++) //Dikdörtgen oluşturulmaktadır. for(j=1;j<=uzunluk;j++) if(i==1) printf("* "); else if(i==genislik) printf("* "); else if(j==1 j==uzunluk) printf("* "); else printf(" "); printf("\n"); omeryucel.wordpress.com 4

Cevap-4: //Soru 4 #include <string.h> //String ifadelerle (katar) işlem yapan fonksiyonların bulunduğu başlık dosyası. #include <ctype.h> //Karakterler ile işlem yapan fonksiyonların bulunduğu başlık dosyası. void kisaltma(char *); //Fonksiyonun prototipi tanımlanmaktadır. char kelime[100]; printf("bir Cumle Giriniz:"); gets(kelime); kisaltma(kelime); void kisaltma(char *ifade) //Kelimenin kısaltıldığı fonksiyon. int i; short kosul=1; printf("kelimenin Kisaltilmis Sekli: "); for(i=0;ifade[i]!=null;i++) //ifade'nin string sonu karakterine gelinmediği müddetçe döngü devam etmektedir. if(kosul==1 && ifade[i]!=' ') ifade[i]=toupper(ifade[i]); kosul=0; printf("%c",ifade[i]); else if(ifade[i]==' ') kosul=1; omeryucel.wordpress.com 5

Cevap-5: //Soru 5 int sayi,yenisayi=0; printf("sayiyi Giriniz:"); scanf("%d",&sayi); while(sayi>=1) //Sayı 1'den büyük eşit olduğu müddetçe döngü devam etmektedir. yenisayi=(yenisayi*10)+(sayi%10); sayi=sayi/10; printf("sayinin Tersi: %d",yenisayi); omeryucel.wordpress.com 6

Cevap-6: //Soru 6 int gsaat,gdakika,gsaniye,eklsaniye; int saat,dakika,saniye; printf("zamani Giriniz (Saat-Dakika-Saniye):\n"); scanf("%d %d %d",&gsaat,&gdakika,&gsaniye); printf("\neklenecek Saniyeyi Giriniz:"); scanf("%d",&eklsaniye); saniye=gsaniye+eklsaniye; //Girilen saniyeye göre yeni zaman oluşturulmaktadır. gdakika=gdakika+(saniye/60); gsaat=gsaat+(gdakika/60); dakika=gdakika%60; saniye=saniye%60; saat=gsaat; if(saat==0 saat<10) //Zaman uygun formatta ekrana yazdırılmaktadır. if( dakika>9 && (saniye==0 saniye<10) ) printf("yeni Zaman= 0%d:%d:0%d",saat,dakika,saniye); else if( (dakika==0 dakika<10) && saniye>9 ) printf("yeni Zaman= 0%d:0%d:%d",saat,dakika,saniye); else if(dakika>9 && saniye>9) printf("yeni Zaman= 0%d:%d:%d",saat,dakika,saniye); else printf("yeni Zaman= 0%d:0%d:0%d",saat,dakika,saniye); else if( dakika>9 && (saniye==0 saniye<10) ) printf("yeni Zaman= %d:%d:0%d",saat,dakika,saniye); else if( (dakika==0 dakika<10) && saniye>9 ) printf("yeni Zaman= %d:0%d:%d",saat,dakika,saniye); else if(dakika>9 && saniye>9) printf("yeni Zaman= %d:%d:%d",saat,dakika,saniye); else printf("yeni Zaman= %d:0%d:0%d",saat,dakika,saniye); omeryucel.wordpress.com 7

omeryucel.wordpress.com 8

Cevap-7: //Soru 7 int sayi,sayac=1; int birler,onlar,yuzler,binler; 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. binler=sayi/1000; //Sayı basamaklarına ayrılmaktadır. yuzler=( sayi-(binler*1000) )/100; onlar=( sayi-(binler*1000)-(yuzler*100) )/10; birler=( sayi-(binler*1000)-(yuzler*100)-(onlar*10) ); if(binler!=yuzler && binler!=onlar && binler!=birler) //Sayının basamak değerleri birbirleriyle karşılaştırılmaktadır. sayac++; if(yuzler!=onlar && yuzler!=birler) sayac++; if(onlar!=birler) sayac++; printf("bu Sayida %d Farkli Rakam Bulunmaktadir.",sayac); omeryucel.wordpress.com 9

Cevap-8: //Soru 8 int sayi=1000; int ilkikihane,sonikihane,sonuc; while(sayi<10000) ilkikihane=sayi/100; //Sayının ilk iki hanesi ile son iki hanesi elde edilmektedir. sonikihane=sayi%100; sonuc=(ilkikihane+sonikihane)*(ilkikihane+sonikihane); if(sonuc==sayi) printf(" %d ",sayi); //Koşulu sağlayan sayılar ekrana yazdırılmaktadır. sayi=sayi+1; omeryucel.wordpress.com 10

Cevap-9: //Soru 9 int sayi1,sayi2; int s1toplam=1,s2toplam=1; int gecici,i=2; printf("sayilari Giriniz:\n"); scanf("%d %d",&sayi1,&sayi2); if(sayi2>sayi1) //Girilen 2.sayı 1.sayıdan büyük ise if yapısına girilmekte ve sayılar aralarında yer değiştirilmektedir. gecici=sayi1; sayi1=sayi2; sayi2=gecici; while( i<=(sayi1/2) ) if(sayi1%i==0) //i sayısının sayi1'in tam böleni olduğu durumda if yapısına girilmektedir. s1toplam=s1toplam+i; if(sayi2%i==0) //i sayısının sayi2'nin tam böleni olduğu durumda if yapısına girilmektedir. s2toplam=s2toplam+i; i=i+1; if(sayi1==s2toplam && sayi2==s1toplam) printf("\narkadas Sayilardir."); else printf("\narkadas Sayi Degillerdir."); omeryucel.wordpress.com 11

Cevap-10: //Soru 10 #define BOYUT 30 void bellolustur(int [BOYUT][BOYUT],int); //Fonksiyonların prototipleri tanımlanmaktadır. void bellyazdir(int [BOYUT][BOYUT],int); int bell[boyut][boyut]; int satir; bell[0][0]=1; bell[1][0]=1; bell[1][1]=2; do //do-while döngüsünde koşula bakılmaksızın döngüye en az bir kere girilmektedir. printf("bell Ucgeninin Satir Sayisini Giriniz (1-30):"); scanf("%d",&satir); while(satir<=0 satir>30); //Girilen sayı 1-30 arasında bir sayı olduğunda döngüden çıkılmaktadır. bellolustur(bell,satir); bellyazdir(bell,satir); void bellolustur(int bell[boyut][boyut],int satir) //Bell üçgeninin oluşturulduğu fonksiyon. int i,j; for(i=2;i<satir;i++) bell[i][0]=bell[i-1][i-1]; for(j=0;j<i+1;j++) bell[i][j+1]=bell[i][j]+bell[i-1][j]; void bellyazdir(int bell[boyut][boyut],int satir) //Bell üçgeninin ekrana yazdırıldığı fonksiyon. omeryucel.wordpress.com 12

int i,j; for(i=0;i<satir;i++) for(j=0;j<i+1;j++) printf("%5d",bell[i][j]); printf("\n"); omeryucel.wordpress.com 13