Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > PL vize soru cozumleri
Yazar
uslanmaz4


avatar
ANKARA
Kayıt: 15.01.2006
12.11.2008-13:22 #52456
Belki isinize yarar.
ilk grup kullanıcıdan aldıgınız cumleyii ters cevirerek yazın.
ör;
ali ata bak
ila ata kab


#include <stdio.h>
#include <string.h>

void tersCevir(char[],int,int);
int main()
{
    int i,z;
    char cumle[1000];
    printf("Bir cumle girin");
	gets(cumle);
    int x=0;
	z=strlen(cumle);
	for(i=0;i<=z;i++)
	if(cumle[i]==' '|| cumle[i]=='\ 0')
        {
            tersCevir(cumle,i,x);
             x=i+1;
        }

return 0;
	}
void tersCevir(char cumleD[],int ust,int alt)
{
    int ilk,son,j;
    char gecici[2];
    ilk=alt;
    son=ust-1;
    while(ilk<son)
    {   gecici[0]=cumleD[son];
        cumleD[son]=cumleD[ilk];
        cumleD[ilk]=gecici[0];
        ilk=ilk+1;
        son=son-1;
    }
    for(j=alt;j<=ust;j++)
    printf("%c",cumleD[j]);

}




Not//hocam bir ve yuzunden yapmayın. :D





kedicik kedicik
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
12.11.2008-20:28 #52464
#include <stdio.h>


int Obeb(int BuyukNumara,int KucukNumara){
	if(BuyukNumara%KucukNumara==0){
		return KucukNumara;
	}else{
		return Obeb(KucukNumara,BuyukNumara%KucukNumara);
	}
}

int Okek(int BuyukNumara,int KucukNumara){
	return BuyukNumara * KucukNumara / Obeb(BuyukNumara,KucukNumara);
}

int ObebBul(int Sayi1,int Sayi2){
	if(Sayi1<Sayi2){
		return Obeb(Sayi2,Sayi1);
	}else{
		return Obeb(Sayi1,Sayi2);
	}
}

int OkekBul(int Sayi1,int Sayi2){
	if(Sayi1<Sayi2){
		return Okek(Sayi2,Sayi1);
	}else{
		return Okek(Sayi1,Sayi2);
	}
}

int ObebHesapla(int Dizi[],int Boyut){
	int Obeb=ObebBul(Dizi[0],Dizi[1]);
	for(int i=2;i<Boyut;i++){
		Obeb = ObebBul(Dizi[i],Obeb);
	}
	return Obeb;
}

int OkekHesapla(int Dizi[],int Boyut){
	int Okek=OkekBul(Dizi[0],Dizi[1]);
	for(int i=2;i<Boyut;i++){
		Okek = OkekBul(Dizi[i],Okek);
	}
	return Okek;
}


int main(){
	int Sayilar[100];
	int Boyut,gecici;
	printf("Kac Sayi Gireceksiniz.
");
	scanf("%d",&Boyut);
	printf("
Sayilari Giriniz.
");
	for(int i=0;i<Boyut;i++){
		printf("%d. Sayiyi Giriniz.
",i);
		scanf("%d",&gecici);
		Sayilar[i]= gecici;
	}
	printf("
Sayilarin Obebini Bulmak Icin 1 Giriniz.
 Sayilarin Ekekini bulmak icin 2 giriniz.
");
	scanf("%d",&gecici);
	if(gecici==1){
		printf("
OBEB = %d
",ObebHesapla(Sayilar,Boyut));
	}else{
		printf("
OKEK = %d
",OkekHesapla(Sayilar,Boyut));
	}

}






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
muratik


avatar
Istanbul
Kayıt: 20.11.2006
13.11.2008-00:10 #52469
Şu iki sorunun zorluk derecesi nasıl aynı olabiliyor ve üstüne basa basa nasıl aynı derecededir diye iddia ediyorlar anlayabilen tek bir kişi var mı acaba?Yani çözümleri bile ortaya seriyor ne kadar farklı olduklarını!!!!!





MuR@TiK Is On Air

Yazar
angelme


avatar
istanbul
Kayıt: 21.10.2006
13.11.2008-00:44 #52470
Ben de katılıyorum hem obeb hem de okek isteniyor üstelik hani bir tanesi olsa yine bir derece

keşke ben de ilk iki gruptan biri olsaymışım beat up





Yazar
ferhat


avatar
kahramanmaras
Kayıt: 12.11.2007
13.11.2008-00:58 #52471
extreme arkadaşımızın yazdığı kodlar bize göre biraz hatta birazdan daha fazla profesyonelce olduğu için soru bize daha zor geldi recursive fonksiyonlar işi bizim için daha da zorlaştırmış. her ne kadar doğru olmasada en azından bizim için bu kadar karışık yollara başvurulmadan da çözülebilirdi. ama size katılıyorum bizim soru diğerlerine göre biraz daha ağırdı.beat up










Yazar
xceo


avatar
Bingöl
Kayıt: 13.09.2007
13.11.2008-01:03 #52472
Tşkler extreme
Elbette bu sorular aynı değil. Bir bakıma diğer gruplarla eşit olmamasına rağmen yapabileceğimiz onuda geçtim :) yapabilmemiz gereken bir soruydu. Velakin :) bu kadar öğreti ile ve diğerlerine göre bu kadar kısa sürede tam çalışır vaziyette teslim etmek şahsen benim adıma zor oldu. Ve sonuç: beat up





http://www.makosan.net
Bir deli bu aralar...


Yazar
uslanmaz4


avatar
ANKARA
Kayıt: 15.01.2006
13.11.2008-01:05 #52473
Arkadaslar daha kısa olabilirdi 2. soru.
ilk soruda onemlı olan kelıme kelıme ters cevirmek ti bunun icinde ' ' ve ' \0 ' bılmeyenler yapamazdı. Hepsinde puf nokta var bence.Kodun uzun olması onun zor oldugu anlamına gelmez.Yanı benım sahsı fıkrım.





kedicik kedicik
Yazar
angelme


avatar
istanbul
Kayıt: 21.10.2006
13.11.2008-01:15 #52474
Daha kısasını 1 saatte yazabiliyorsan buyur yaz confused tebrik ederim o zaman seni

ama soruyu öğrendikten sonra hem kafanda algoritmasını kurman ( hem obeb hem okek) hem de kodunu doğru bir şekilde yazmak için bence 1 saatten daha fazla süre olmalıydı ama tabi artık konuşmak için çok geç oldu bitti.





Yazar
kartane


avatar
istanbul
Kayıt: 22.02.2007
13.11.2008-01:32 #52475
Bence notlar açık olduğu için ebob,ekok kodlarının herkeste old. düşünülüp daha basit bi soru olduğu bile düşünülmüş olabilir diğerlerine göre ,ama bende de yoktu maalesef oyzden düşünmesi baya zaman aldı (gerçi ben de bu kdr uzun bı kod yazmadm)ama çok şükr





Yazar
muratik


avatar
Istanbul
Kayıt: 20.11.2006
13.11.2008-02:30 #52477
Yani tabiki bi mantık geliştirilip daha kısa yazılabilir ama bunu kısaltmayı düşünmek ve tüm kodları yazmak için 1 saat sınav süresi çok az ve şey bunun mantığını hemen düşünüp bulmak o kadar kolay olmasa gerek çünkü genelde hepimizin alıştığı hep 2 sayı obeb ve okekidir genelde o yüzden n tane sayı işin içine girdiğinde obeb ve okek olaylarının mantığını bulmak daha da zorlaşıyor diye düşünüyorum.Ayrıca emin diilim ama bu sene işlenen derste obeb ve okek gibi bişey bulma hakkında örnek yapıldı mı,eğer yapıldıysa notların açık olması tabiki kısaltabilir ama şöyle bi sorun var ki ilk ve 2.grubun soruları hakkında daha önceki hafta labda verilen ödevleri yapmış olmak zaten tamamen o soruların mantığının 10sn de çözülmesini sağlıyor...Benim için en büyük sorun ise sınav sonunda bu soruların zorluk derecesindeki farklılığı dile getirdiğimizde zorluk derecesi aynıdır 1 hafta uğraşıldı bunlar bulunmak için denmesi ve hiçbi şekilde aksini kabul bile etmemeleri....





MuR@TiK Is On Air

Yazar
ferhat


avatar
kahramanmaras
Kayıt: 12.11.2007
13.11.2008-02:47 #52478
muratik yazdi
 
...Ayrıca emin diilim ama bu sene işlenen derste obeb ve okek gibi bişey bulma hakkında örnek yapıldı mı,eğer yapıldıysa notların açık olması tabiki kısaltabilir ...

aslında bende sizin grupla birlikte sınava girmis biri olarak tam anlamıyla aynı fikirde olduğumu söyleyemem. diğerlerine göre daha ağır olduğunu bende kabul ediyorum ama şu da var biz c gibi çok geniş ve temel bir dil görüyoruz yani birisi için zor olan soru diğeri için kolay olabilir örneğin bana hem bizim grubun hemde diğer grupların sorusu çok zor geldi:D:D sınavların amacıda o olsa gerek bizim eksik noktamızı bize göstermek. Ayrıca sınavlarda sorulacak şeylerin derste anlatılması gibi bi durum biraz saçma olurdu heralde öyle olsa bize ne düşerdi kodları ezberleyip sınava girmekmi??wink ayrıca yukarda kod paylaşımı yapan arkadaşlara teşekkürler...hugs










Yazar
xedo


avatar
Antalya
Kayıt: 27.11.2006
13.11.2008-12:51 #52479
Soru: Kullanıcı 1-9 arasinda N tane sayi giricek. bu sayilardan tekrarlayanlar varsa diziden çıkarılacak ve yeni dizi ekrana yazdırılacak. tekrarlayan sayılar da ekrana yazdırılacak. yanlış hatırlamıyorsam böle iyi sınavda zaman yetmedi ama şimdi yapmaya çalıştım :)

#include <stdio.h>
#include <string.h>

int main()
{
    char a[100],b[100];
	int i,t,c,k,z,l;
	printf("lutfen 1-9 arasinda sayilar giriniz.
");

	gets(a);
	i=strlen(a);


	for(t=0,l=0;t<i;t++,l++){
		if(a[t]!=a[t+1]){
		b[l]=a[t];
		}
		else{
		b[l]=a[t];
		for(z=t;z<i && a[z]==a[z+1];z++){

		}
		printf("%c rakami tekrarladi. 
",a[t]);
		t=z;
		}
	}

	printf("yeni dizi = ");
	for(k=0;k<l;k++){
		printf("%c",b[k]);
	}

}








Yazar
erman


avatar

Kayıt: 23.10.2008
13.11.2008-15:55 #52482
kullanıcıdan bir cumle alınacak önce kelimeleri ayırıp kaçar harften olustugunu yazdırcak ve sonra kullanıcıdan bir n sayısı alıp n ve n den kucuk harfle yazılan kelimeleri ekrana yazdırcak..

#include <stdio.h>
#include <string.h>
int main()
{
    char dizi[100];
    int i,j=0,k,sayi,d;
    
    printf("bir cumle giriniz:");
    gets(dizi);
    
    for(i=0;i<strlen(dizi)+1;i++)
    {
     if(dizi[i]==' ' || dizi[i]=='  0')
     {
      for(k=i-j;k<i;k++)
      {
       printf("%c",dizi[k]);
      }
      printf(">>>%d",j);
      j=0;
     }
      else
       j++;
    } 
    
    j=0;
    
    printf("bir sayi giriniz:");
    scanf("%d",&sayi);
    
    for(i=0;i<strlen(dizi)+1;i++)
    {
     if(dizi[i]==' ' || dizi[i]=='  0')
     {
      if(j<=sayi)
      {             
      for(k=i-j;k<i;k++)
      {
       printf("%c",dizi[k]);
      }
      printf("  n ");
      }
      j=0;
    }
      else
       j++;
    }            
    
    scanf("%d",&d);
    return 0;
}   






Yazar
wardom


avatar
Kirklareli
admin
Kayıt: 12.11.2006
14.11.2008-10:10 #52490
Sınav sonuçları açıklanmıştır.
Bölüm panosundan öğrenebilirsiniz.





www.sonergonul.net





Yazar
erdi


avatar
istanbul
Kayıt: 19.02.2008
14.11.2008-12:16 #52491
biri siteye ekleyebilir mi...praying





erdi

1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb