Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

c ile bişi yazdım ama çalışmıyor help plx


tunca

Öne çıkan mesajlar


#include

void draw(int array[][15])
{
int r, c;

for(r=0;r<15;r++)
{
printf("n");
for(c=0;c<15;c++)
printf("%d", array[r][c]);


}
printf("n");
}

void restart(int array[][15])
{
int r, c;

for(c=0;c<6;c++)
array[0][c]=1;


for(c=0;c<6;c++)
array[5][c]=1;


for(r=0;r<6;r++)
array[r][0]=1;


for(r=0;r<6;r++)
array[r][5]=1;



printf("n");
}

void right(int array[][15])
{
int x, y, r, c;

x=0;
y=0;

while( array[x][y] != 1)
{

x++;

while(array[x][y] != 1)

y++;


}

for(c=0;c<15;c++)
for(r=0;r<15;r++)
array[r][c]=0;



for(c=x;c<5 + x;c++)
if(0+x<15 && 0+x>=0 && c<15 && c>=0)
array[1 + x][c+1]=1;


for(c=x;c<5 + x;c++)
if(5+x<15 && 5+x>=0 && c<15 && c>=0)
array[5 + x][c+1]=1;


for(r=y;r<5+y;r++)
if(0+y<15 && 0+y>=0 && r<15 && r>=0)
array[r+1][1+y]=1;


for(r=y;r<5+y;r++)
if(5+y<15 && 5+y>=0 && r<15 && r>=0)
array[r+1][5+y]=1;




}




int main()
{
int array[15][15]={0};
int choice;

printf("1.restartn2.drawn3.Rightn9.Exitn");
scanf(" %d", &choice);

while(choice != 9)
{

if(choice==2)
draw(array);
else if(choice == 1)
restart(array);
else if(choice == 3)
right(array);

printf("1.restartn2.drawn3.Rightn9.Exitn");
scanf(" %d", &choice);
}




return(0);
}




0 ların arasında 1 lik kareyi hareket ettirmek istiyorum, sağa götürtme fonksiyonu(right) çalışmıyor.
Link to comment
Sosyal ağlarda paylaş

Katılıyorum. Her satırı açıklamasan bile kodun tam olarak ne yaptığını, hangi fonksiyonun ne işe yaradığını açıkla en azından. Böyle hiç okuyası gelmiyor hakkaten insanın.

Ayrıca şu siteye kopyalar mısın kodu: http://rafb.net/paste/ . Sonra buraya link verirsin. Paticik indentation'ı uçurduğu için okunabilirlik sürünüyor. Site üyelik falan istemiyor. Kodu kopyala, üstteki iki satırı doldur tamamdır.
Link to comment
Sosyal ağlarda paylaş

Okunabilirliği düşüren ama bu tür hataları azaltan bir metod var.

if, while vb içindeki kıyaslamaları yazarken y == 15 yerine 15 == y yazarsan böyle bir sorunla karşılaşamazsın. Çünkü == yerine = yazarsan compile edemezsin. Kullanmanı tavsiye etmem ama, okunabilirliği düşürüyor çünkü bence.
Link to comment
Sosyal ağlarda paylaş

asd

000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000



kalın olanı merkez noktası seçip diğerlerini ona x,y uzaklıkta olcak $ekilde dizmeyi dener misin. ne kadar ba$arılı olur bilmiyorum


asd 2


000000000000000
000000000000000
000000000000000
000000000000000
000222000222000
002000202000200
000200020002000
000020010020000
000002000200000
000000202000000
000000020000000
000000000000000
000000000000000
000000000000000
000000000000000

Link to comment
Sosyal ağlarda paylaş

Sypro said:

asd

000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000
000000000000000



kalın olanı merkez noktası seçip diğerlerini ona x,y uzaklıkta olcak $ekilde dizmeyi dener misin. ne kadar ba$arılı olur bilmiyorum


asd 2


000000000000000
000000000000000
000000000000000
000000000000000
000222000222000
002000202000200
000200020002000
000020010020000
000002000200000
000000202000000
000000020000000
000000000000000
000000000000000
000000000000000
000000000000000



tamam bi ara deniyim şimdi çok beynim sulandı sağol =)
Link to comment
Sosyal ağlarda paylaş

yalnız verdiğim fikir bana epk mantıklı gelmedi nası bi çeli$kiyse..

sen 6*6 bi kare yapmı$tın, lakin böyle bi$ey yaparsan asd 2 örneğinde olduğu gibi 11*7 lik bi alanı kaplayan kalbin olcak.. bu sefer eğer 15*15 in içine 11*(7+4) lük bi kare koyup onla denemeye kalkarsan da 11*11 = 121 tane noktaya tek tek napcanı söylemen gerekcek sanki.. bu da i$i kolayla$tırcağına zorla$tırır gibi ya.. ama aklıma ba$ka bi$i gelmiyo..

sabah 7ye kadar eyceks ile boğu$tum, 12de balon $ekilde uyandım hani benim de kafa pek yerinde değil daha.. uyumam gerek biraz daha..
Link to comment
Sosyal ağlarda paylaş

bi de patiye kod koyacaksanız böyle koyun (nasıl? {code} {/code}tagi içersinde ama { yerine [ var tabi)

said:

#include <stdio.h>

void draw(int array[][15])
{
int r, c;

for(r=0;r<15;r++)
{
printf("n");
for(c=0;c<15;c++)
printf("%d", array[r][c]);


}
printf("n");
}

void restart(int array[][15])
{
int r, c;

for(c=0;c<6;c++)
array[0][c]=1;


for(c=0;c<6;c++)
array[5][c]=1;


for(r=0;r<6;r++)
array[r][0]=1;


for(r=0;r<6;r++)
array[r][5]=1;



printf("n");
}

void right(int array[][15])
{
int x, y, r, c;

x=0;
y=0;

while( array[x][y] != 1)
{

x++;

while(array[x][y] != 1)

y++;


}

for(c=0;c<15;c++)
for(r=0;r<15;r++)
array[r][c]=0;



for(c=x;c<5 + x;c++)
if(0+x<15 && 0+x>=0 && c<15 && c>=0)
array[1 + x][c+1]=1;


for(c=x;c<5 + x;c++)
if(5+x<15 && 5+x>=0 && c<15 && c>=0)
array[5 + x][c+1]=1;


for(r=y;r<5+y;r++)
if(0+y<15 && 0+y>=0 && r<15 && r>=0)
array[r+1][1+y]=1;


for(r=y;r<5+y;r++)
if(5+y<15 && 5+y>=0 && r<15 && r>=0)
array[r+1][5+y]=1;




}




int main()
{
int array[15][15]={0};
int choice;

printf("1.restartn2.drawn3.Rightn9.Exitn");
scanf(" %d", &choice);

while(choice != 9)
{

if(choice==2)
draw(array);
else if(choice == 1)
restart(array);
else if(choice == 3)
right(array);

printf("1.restartn2.drawn3.Rightn9.Exitn");
scanf(" %d", &choice);
}




return(0);
}
Link to comment
Sosyal ağlarda paylaş

  • 3 hafta sonra ...
×
×
  • Yeni Oluştur...