Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > pl final soruları
Yazar
sumeyra


avatar

Kayıt: 28.12.2008
28.01.2009-22:59 #56195
arkadaşlar pl final sorularını benim gibi çöpe atmayıpta coolsaklayanlar varmı?





www.sumeyrahaslaman.com
Yazar
stutuasde


avatar
FATSA
Kayıt: 07.04.2007
28.01.2009-23:34 #56197
http://img232.imageshack.us/my.php?image=28012009171mm1.jpg
http://img519.imageshack.us/my.php?image=28012009173sx5.jpg
http://img228.imageshack.us/my.php?image=yeniresimds7.jpg
elimde olan bunlar umarım işinize yararlar





SoNFaTsaLI:)MaViyE Calar GöZleQiNNN...








Yazar
sumeyra


avatar

Kayıt: 28.12.2008
29.01.2009-12:32 #56230
çok teşekkür ederim smilebi grup daha var galiba





www.sumeyrahaslaman.com
Yazar
stutuasde


avatar
FATSA
Kayıt: 07.04.2007
29.01.2009-14:01 #56234
1- NxN lik satranç tahtası üzerine vezirleri birbirlerini yemeyecek şekilde yerleştiren c programı
2- Su doku programı.
diger grupun sorularıda bunlardı sanırsam ama tam emin degilim





SoNFaTsaLI:)MaViyE Calar GöZleQiNNN...








Yazar
erdi


avatar
istanbul
Kayıt: 19.02.2008
29.01.2009-19:10 #56253
evet doğru...
1-kulanıcının girdiği N sayisi için N*N lik bir staranç tahtasında birbirini almayacak N tane vezir yerleştiren kod.(N>=4)
2-içersinde 3*3 lük matrislerden oluşan 9*9 luk bir alana rakamlar doldurulacaktır.her satır,her sutun ve her bölge (3*3);1 ile 9 arasındaki rakamlardan sadece bir kere yerleştirmesiyle doldurulmalıdr.
not:rakam o bölge,satır ve surtunda sadece bir kez kullanılabilir.ve rand fonksiyonunu kullanmalısın.d oh





erdi

Yazar
sumeyra


avatar

Kayıt: 28.12.2008
30.01.2009-01:06 #56272
birinci grubun ilk sorusu klavyeden N sayi değerine göre bir matris oluşturan,sonra bu matrisin tüm sütunları ve çapraz toplamları eşit olacak şekilde sayıları yerleştiren c programı,
fonksiyonlu deil ama idare eder.diğer soruları cevaplayanlar paylaşırlarsa sevinirimbiggrin



#include<stdio.h>
#include<stdlib.h>

main(){
int i,a,*p,b,boyut;
printf("matrisin boyutunu girin:
");
scanf("%d",&boyut);
p=(int*)malloc(sizeof(int)*boyut*boyut);
for(a=0;a<boyut;a++){
for(b=0;b<boyut;b++){
*(p+boyut*a+b)=0;

}
}

a=0;
b=boyut/2;
*(p+a+b)=1;
for(i=2;i<=boyut*boyut;i++){
if(*(p+boyut*((a+boyut-1)%boyut)+((b+1)%boyut))==0){
a=(a+boyut-1)%boyut;
b=(b+1)%boyut;
*(p+boyut*a+b)=i;
}
else
{
a=(a+1)%boyut;
*(p+boyut*a+b)=i;

}

}
for(a=0;a<boyut;a++){
for(b=0;b<boyut;b++){
printf("%4d",*(p+boyut*a+b));
}
printf("
");
}



}





www.sumeyrahaslaman.com
Yazar
sumeyra


avatar

Kayıt: 28.12.2008
31.01.2009-01:48 #56328
arkadaşlar kimse yapmadımı soruları nerd





www.sumeyrahaslaman.com
Yazar
erman


avatar

Kayıt: 23.10.2008
31.01.2009-02:34 #56330
sumeyra yazdi
 
arkadaşlar kimse yapmadımı soruları nerd



n vezir sorusu:

#include <stdio.h>
#include <stdlib.h>
int main()
{

int a,b,n,kalan,k=0,i,j,s=0;
char *dizi,temp;

printf("n sayisini giriniz:");
scanf("%d",&n);

dizi=(char*)malloc(sizeof(char)*(n+10));

for(i=0;i<=n+10;i++)
dizi[i]=0;

kalan=n%12;

for(i=2;i<=n;i=i+2)
{
dizi[k]=i;
k++;
}

a=k;

printf("
");

if(kalan==3||kalan==9)
{
dizi[k]=2;
dizi[0]=0;
k++;
}

b=k;

for(i=1;i<=n;i=i+2)
{
dizi[k]=i;
k++;
}

if(kalan==8)
{
for(i=0;dizi[a]!=0;i++)
{
temp=dizi[a];
dizi[a]=dizi[a+1];
dizi[a+1]=temp;
a=a+2;
}
}

if(kalan==2)
{
temp=dizi[a];
dizi[a]=dizi[a+1];
dizi[a+1]=temp;
dizi[a+2]=0;
dizi[n]=5;
a++;
}

if(kalan==3||kalan==9)
{
dizi[b]=0;
dizi[b+1]=0;
dizi[n+8]=1;
dizi[n+9]=3;
}

char matris[n][n];

for(i=0;i<n;i++)
for(j=0;j<n;j++)
matris[i][j]=0;

for(i=0;i<n+10;i++)
{
if(dizi[i]!=0)
{
matris[dizi[i]-1][s]=1;
s++;
}
}

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

getchar();getchar();getchar();
return 0;
}

su doku:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int i,j,x=1,k,temp,m;
int matris[9][9]={0};

srand(time(NULL));

for(x=1;x<10;x++)
{
j=rand()%9;
if(matris[0][j]==0){
matris[0][j]=x;
}
else
x--;
}

for(k=0;k<8;k++)
{
for(i=0;i<9;i++)
{
matris[k+1][(i+6)%9]=matris[k][i];
}
}

for(k=0;k<=2;k++)
{
m=0;
for(i=0;i<3;i++)
{
temp=matris[k][m];
matris[k][m]=matris[k][m+1];
matris[k][m+1]=temp;
m=m+3;
}
}

for(k=3;k<=5;k++)
{
m=1;
for(i=0;i<3;i++)
{
temp=matris[k][m];
matris[k][m]=matris[k][m+1];
matris[k][m+1]=temp;
m=m+3;
}
}

for(k=6;k<=8;k++)
{
m=0;
for(i=0;i<3;i++)
{
temp=matris[k][m];
matris[k][m]=matris[k][m+2];
matris[k][m+2]=temp;
m=m+3;
}
}

for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
printf(" %d",matris[i][j]);
}
printf("
");
}

getchar();getchar();getchar();
return 0;
}


umarım işinize yarar..











Yazar
xedo


avatar
Antalya
Kayıt: 27.11.2006
31.01.2009-03:19 #56331
sumeyra yazdi
 
birinci grubun ilk sorusu klavyeden N sayi değerine göre bir matris oluşturan,sonra bu matrisin tüm sütunları ve çapraz toplamları eşit olacak şekilde sayıları yerleştiren c programı,
fonksiyonlu deil ama idare eder.diğer soruları cevaplayanlar paylaşırlarsa sevinirimbiggrin



#include<stdio.h>
#include<stdlib.h>

main(){
int i,a,*p,b,boyut;
printf("matrisin boyutunu girin:
");
scanf("%d",&boyut);
p=(int*)malloc(sizeof(int)*boyut*boyut);
for(a=0;a<boyut;a++){
for(b=0;b<boyut;b++){
*(p+boyut*a+b)=0;

}
}
.....


tek durum için yapmışsın sen hocalar böyle kabul etmiyor. Yani her 5 girdiğinde her seferdinde farklı bi matris verecek ama yine de satırların toplamları falan eşit olacak.







Yazar
xedo


avatar
Antalya
Kayıt: 27.11.2006
31.01.2009-03:21 #56332
erman yazdi
 



n vezir sorusu:

#include <stdio.h>
#include <stdlib.h>
int main()
{

int a,b,n,kalan,k=0,i,j,s=0;
char *dizi,temp;

printf("n sayisini giriniz:");
scanf("%d",&n);

dizi=(char*)malloc(sizeof(char)*(n+10));

for(i=0;i<=n+10;i++)
dizi[i]=0;

kalan=n%12;

for(i=2;i<=n;i=i+2)
{
dizi[k]=i;
k++;
}

a=k;

printf("
");

if(kalan==3||kalan==9)
{
dizi[k]=2;
dizi[0]=0;
k++;
}

b=k;



umarım işinize yarar..


...




ben de sınavda aynen böyle yaptım ve 10 aldım. Sen 1leri tek durum için diziyorsun programı her çalıştırdığında ayrı sonuç vermesi lazım. yani bütün sorularda rand fonksiyonu kullanılacak.







Yazar
erman


avatar

Kayıt: 23.10.2008
31.01.2009-12:55 #56338
xedo yazdi
 
erman yazdi
 



n vezir sorusu:

#include <stdio.h>
#include <stdlib.h>
int main()
{

int a,b,n,kalan,k=0,i,j,s=0;
char *dizi,temp;

printf("n sayisini giriniz:");
scanf("%d",&n);

dizi=(char*)malloc(sizeof(char)*(n+10));

for(i=0;i<=n+10;i++)
dizi[i]=0;

kalan=n%12;

for(i=2;i<=n;i=i+2)
{
dizi[k]=i;
k++;
}

a=k;

printf("
");

if(kalan==3||kalan==9)
{
dizi[k]=2;
dizi[0]=0;
k++;
}

b=k;



umarım işinize yarar..


...




ben de sınavda aynen böyle yaptım ve 10 aldım. Sen 1leri tek durum için diziyorsun programı her çalıştırdığında ayrı sonuç vermesi lazım. yani bütün sorularda rand fonksiyonu kullanılacak.



sen bu soruyu aynen bu şekilde yaptıysan sınavdan 10 aldığını düşünmüyorum..zaten bu soruyu tam şekilde dogru yapan yok sanırsam yada ben duymadım..bu sorunun algoritmasını wikipedia dan aldım..orda tek durum için çözüm vardı ona göre kodladım..bu şekilde yapan birinin sınavdan (geçer) not alacagını düşünüyorum..hepinize kolay gelsin..







Yazar
xedo


avatar
Antalya
Kayıt: 27.11.2006
31.01.2009-13:18 #56341
erman yazdi
 
xedo yazdi
 


ben de sınavda aynen böyle yaptım ve 10 aldım. Sen 1leri tek durum için diziyorsun programı her çalıştırdığında ayrı sonuç vermesi lazım. yani bütün sorularda rand fonksiyonu kullanılacak.



sen bu soruyu aynen bu şekilde yaptıysan sınavdan 10 aldığını düşünmüyorum..zaten bu soruyu tam şekilde dogru yapan yok sanırsam yada ben duymadım..bu sorunun algoritmasını wikipedia dan aldım..orda tek durum için çözüm vardı ona göre kodladım..bu şekilde yapan birinin sınavdan (geçer) not alacagını düşünüyorum..hepinize kolay gelsin..


walla aynen böyle tek durum için yaptım ve hoca kabul etmiyorum dedi. önemli olan tek durum için yapman değil. random değerler kullanman. belli bi sıraya göre dizince kabul etmediler. sordum Rüya hocaya hocam ben böyle yaptım geçirmediniz bunu bile geçirmediyseniz 10 kişi anca geçer dedim. Rüya hoca gülerek 10 kişi bile yok dedi...







Yazar
blackzero


avatar

Kayıt: 27.11.2006
31.01.2009-15:36 #56346
#include <stdio.h>
#include <stdlib.h>
int is_safe(int *rows, int x, int y)
{
int i;

for (i=1; i <= y; ++i) {
if (rows[y-i] == x || rows[y-i] == x-i || rows[y-i] == x+i)
return 0;
}

return 1;
}

void putboard(int *rows,int n)
{
static int s = 0;
int x, y;

printf("
Solution #%d:
---------------------------------
", ++s);
for (y=0; y < n; ++y) {
for (x=0; x < n; ++x)
printf(x == rows[y] ? "| Q " : "| ");
printf("|
---------------------------------
");
}
}

void eight_queens_helper(int *rows,int n, int y)
{
int x;

for (x=0; x < n; ++x) {
if (is_safe(rows, x, y)) {
rows[y] = x;
if (y == n-1)
putboard(rows,n);
else
eight_queens_helper(rows,n, y+1);
}
}
}

int
main()
{
int n;
int *rows;
printf("n sayisini giriniz:");
scanf("%d",&n);
rows = (int *) malloc(sizeof(int)*n);


eight_queens_helper(rows,n, 0);

return 0;
}

nette buldugum bir kod, 8*8 likti,ben n*n seklinde duzenledim,tum cozumleri veriyor(cok buyuk sayi girmenizi tavsiye etmem shame on you).bu sorunun algoritmasi oldukca zor digerlerine gore.





Yazar
concordia


avatar

Kayıt: 14.02.2007
01.02.2009-01:35 #56368
arkadaşlar elemanları {"kupa","karo","sinek","maca"} olan bi diziyi pointer kullanarak nasıl ifade edebilirim?
ben şöyle yaptım ama hata verdi:

char *ptk;
ptk=(char *)malloc(sizeof(char)*4)
*ptk="kupa";
ptk ++;
*ptk="karo";
ptk ++;
*ptk="sinek";
ptk ++;
*ptk="maca";





Yazar
blackzero


avatar

Kayıt: 27.11.2006
01.02.2009-02:04 #56371
char **ptk;
ptk=(char **) malloc(sizeof(char)*4) ;

ptk[0]="kupa";

ptk[1]="karo";

ptk[2]="sinek";

ptk[3]="maca";







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