Yazar |
|
errorist
istanbul
Kayıt: 20.10.2006 |
|
arkadaşlar şu amiral battı oyununda seçim yapmak için (örn: a15, b5) kullanılacak kodlar nasıl olmalı ,bi arkadaşımız yardımcı olabilirmi.
|
|
Yazar |
|
demeer
banlandı
Kayıt: 26.11.2006 |
|
ekrandan girilen karakterlerin ascii karşılıkları il işlem yapacaksın
mesela A için 65, 1 için 49
inşallah bi fikir edinmişsindir
bide girilen metni karakterlerine ayırman gerekiyo
bunun içinde dizi kulanabilirsin
get out of my site
|
|
Yazar |
|
kellad
istanbul
Kayıt: 21.01.2006 |
|
Ben olsam a15 şeklindeki metinden iki ayrı sayı üreten bir fonksion yazardım. İlk harf mutlaka 1 tane olduğu için önce bu ilk harfin sayı karşılığını üretirim. A için 0, B için 1 vs. Kalan kısımdaki metinden de bir sayı değeri üretip bu iki sayıyı sonuç olarak döndürürüm. Ayrıntısı size kalmış.
Decompiling the code of universe.
Listening the cosmic background radiation.
Swimming in Inter Stellar Medium.
|
|
Yazar |
|
errorist
istanbul
Kayıt: 20.10.2006 |
|
yazdığım metni ayrı yarı alabilsem mesela a15 a,1,5 şeklinde ayırabilsem sorun kalmicak.bunu yapan fonksiyonu bulamadım.
|
|
Yazar |
|
aliolci
en dipten taa derind
Kayıt: 19.01.2006 |
|
#include<stdio.h>
main()
{
char dizi[4];
gets(dizi);
}
dersen 4 uzunluunda bir dizi yaratisr ve ekrana yazdiin 4 karakterlik bi stringi otonom olarak dizinin her bir elemanine atar orn
dizi
dizi[0]="d" dizi[1]="i" dizi[2]="z" dizi[3]="i"
şeklinde olur
Cant you see the writing on the wall?
"die young gonna die young"
So! Live for today
Tomorrow never comes..
|
|
Yazar |
|
muammeryigit
istanbul
Kayıt: 04.03.2006 |
|
errorist yazdi | yazdığım metni ayrı yarı alabilsem mesela a15 a,1,5 şeklinde ayırabilsem sorun kalmicak.bunu yapan fonksiyonu bulamadım. |
şöyle bişey kullanabilirsin (ben kullandım oradan biliyorum)
#include<stdio.h>
int main(){
char a[10] ; //burada dizi boyutu sana kalmış 3'ten büyük her boyut geçerli olacaktır
scanf("%s",a); //ekrandan girilen veriler diziye aktarılıcak
return 0;
}
ör;
A15
gibi bir giriş yapılırsa dizinin ilk elemanı yani a[0] = 'A' ikinci elemanı a[1] = '1' a[2] = '5'
olur.
hata oluşmasını önlemek için girişleri kontrol etmende yarar var.
mesala;
kullanıcı aaa
gibi bir giriş yaparsa buda diziye atılacak bu sebepten dizinin ilk elemanını char türden olup olmadığını isalpha(a[0]) gibi bir kontrolle bulabilirsin
aynı şekilde dizinin 2.ve 3. elemanınnıda sayı olması gerekiyor onlar içinde
isdigit(a[1])
ve
isdigit(a[2])
gibi kontroller kullanırsan daha iyi olur .
fazla uzattım herhalde neyse umarım yardımcı olabilmişimdir.
|
|
Yazar |
|
ilci08
Kayıt: 12.08.2006 |
|
arkadaşlar benim amiral battı da bi türlü halledemediğim bi sorun var
gemileri yerleştirirken gemi yerleştirme testi yapıyorum...test çalışıyor fakat ...genede gemileri yerleştirmeye devam ediyor..şimdiden ilgilenenlere teşekkür ederim...
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
int main (void)
{
int koordinat[16][16]={0};
int noktaSatir;
int noktaSutun;
int test=1;
int MBOYUT=2;
int yatay;
int mayinTaramaGemisi=0;
int i;
int j;
int sayi;
srand(time(NULL));
for(;mayinTaramaGemisi<4;)
{
if(mayinTaramaGemisi != 0)
{
noktaSutun=rand()%15;
noktaSatir=rand()%16;
int a=noktaSatir-1;
int b=noktaSutun-1;
if(a<0)
a=0;
if(b<0)
b=0;
int c=noktaSatir+1;
int d=noktaSutun+MBOYUT;
if(c>15)
c=15;
if(d>15)
d=15;
for (a; a<= c; a++)
{
for (b; b<= d; b++)
{
if (koordinat[a][b]!=0)
{
test=0;
}
}
if (koordinat[a][b]!=0)
{
test=0;
}
}
if (test==1)//gemi yoksa önceden yerleştirilen; 1 gonderiri geriye*/
{
i=noktaSutun;
for(i; i<noktaSutun+MBOYUT; i++)
{
koordinat[noktaSatir][i]=2;//2 sayisi ascii de 50 ye denk geliyor
}
mayinTaramaGemisi++;
}
}getch();
}
for (i=0; i<16; i++)
{
for (j=0; j<16; j++)
{
printf("%d",koordinat[i][j]);
}
printf("
");
}
return 0;
}
|
|
Yazar |
|
tatanga
Kayıt: 13.10.2006 |
|
int main (void)
{
int koordinat[16][16]={0};
int noktaSatir;
int noktaSutun;
int test=1;
int MBOYUT=2;
int yatay;
int mayinTaramaGemisi=0;
int i;
int j;
int sayi;
srand(time(NULL));
for(;mayinTaramaGemisi<4;)
{
//if(mayinTaramaGemisi != 0)
//{
test=1;
noktaSutun=rand()%15;
noktaSatir=rand()%16;
int a=noktaSatir-1;
int b=noktaSutun-1;
if(a<0) {
a=0;
noktaSatir=1;
}
if(b<0) {
b=0;
noktaSutun=1;
}
int c=noktaSatir+1;
int d=b+MBOYUT;
if(c>15) {
c=15;
a=13;
}
if(d>15) {
d=15;
b=12;
}
noktaSatir=a;
noktaSutun=b;
for (a; a< c; a++)
{
for (b; b< d; b++)
{
if (koordinat[a][b]!=0)
{
test=0;
break;
}
}
/*if (koordinat[a][b]!=0)
{
test=0;
} */
}
if (test==1)//gemi yoksa önceden yerleştirilen; 1 gonderiri geriye
{
i=noktaSutun;
for(i; i<noktaSutun+MBOYUT; i++)
{
koordinat[noktaSatir][i]=2;//2 sayisi ascii de 50 ye denk geliyor
}
mayinTaramaGemisi++;
}
//}
//getch();
}
for (i=0; i<16; i++)
{
for (j=0; j<16; j++)
{
printf("%d",koordinat[i][j]);
}
printf("
");
}
getch();
return 0;
}
ilk for içindeki if(mayinTaramaGemisi != 0) sonsuz döngü yapıyor
test değerini ilk for içinde de 1'e eşitlemen gerekiyor yoksa eski değerini kullanır ve bu hataya neden olabilir. kontrol ettiğin ve gemileri yerleştirdiğin koordinatlar da uyuşmuyor.
bu projeden başka pointer ile ilgili 2. bi proje verilecekti, vazgeçildi mi? hatta bu amirali ne zaman vercez, sunacakmıyız, final hangi konulardan, yazarsan sevinirim
|
|
Yazar |
|
orhan
istanbul
admin
Kayıt: 17.11.2005 |
|
kodunuzu buraya yazarken code taglarını kullanın. sayfanın uzamasını engellemiş olursunuz.
N/A
|
|
Yazar |
|
aliozkn
Manisa
Kayıt: 13.04.2006 |
|
vharf=vurus[0]-65; //satir koordinatı
for(i=0;i<4;i++)
vurus[i]=vurus[i+1];
vsayi=atoi(vurus)-1; //sütun koordinatı
Ben böyle yapmıştım.
|
|
Yazar |
|
ilci08
Kayıt: 12.08.2006 |
|
ikinici proje verildi ..fakat ne olduğunu incelemedim ..sunumlar da olacak diye biliyorum...ama na zaman kadar o konuda tam bi fikrim yok.. bu arada yardım için tsk...
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| | | | | | | |