DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
arkadaşlar c uygulamada önemli bir program yazmam gerekiyor programın mantığı şu şekilde olacak program çalıştığında şu şekilde olack ekranda ilk olarak benden nokta numarası isteyecek ve daha sonra noktanın x kordinatını sonrada y kordinatını isteyecek... nokta numarası "nn" adlı değişkene x kordinatı "xkor" adlı değişkene y kordinatı da "ykor" adlı değişkene atayacak ve bunları bir dosyaya kaydedip saklayacak yani bir örnek vermek gerekirse; ben programa 1 numaralı noktanın xkordinatlarını ve ykordinatlarını girdiğim zaman değişken isimleri şöyle olacak nn=1 xkor1=458.458 ykor2=452.789 yani demek istediğim 1. noktanın x kordinatlarını kullanacağım zaman xkor1 2. noktanın x kordinatını kullanacağım zaman xkor2 yazmasını istiyorum. y ler için de aynısını olmasını istiyorum.
daha sonra hesap yapmam gerektiği zaman mesela ykordinat değerinden xkordinat değerini çıkarmak istediğim zaman kodlamada gerekli kodlar ile dosyaya yazdığımız xkor ve ykorları çekip ykor-xkor yazmam yeterli olacak lütfen yardım edin en son anlatma kapasitem bu eğer açıklamam gereken yer olursa lütfen cevap atın veya pm atın olur mu şimdiden teşekkürler
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Aslında yapmak istediğin basit ama sen karmaşık şeyler düşünmüşsün. Önce nokta için bir struct un olacak.
typedef struct { int xkor; int ykor; } Nokta;
Sonra olabilecek maksimum nokta sayısı kadar elemanı olan bir Nokta dizisi oluşturacaksın. Mesela programında en fazla 1000 nokta olur diyorsan; Nokta nokta[1000];
Nokta sayısı hiç kestirilemiyorsa veya çok fazla olma şansı varsa (1 milyon gibi) dinamik olarak oluşturmak gerekli ama buna girmiyorum.
Program başlayınca bir döngü içinde dosyayı okur ve diziye atarsın. Dosya formatının şu şekilde olduğunu düşünürsek; x1 y1 x2 y2 x3 y3 ...
döngü şöyle olur.
int n = 0; while(!feof(dosya)) { fscanf(dosya, "%d", &nokta[n].xkor); fscanf(dosya, "%d", &nokta[n].ykor); ++n; }
Döngü bitince n nokta sayısını verir. Bunu sakla ihtiyacın olacak. "nn" diye bir değişkene ve dosyada arama yapmaya gerek yok. Herhangi bir zamanda n noktasının y koordinatına erişmek için tek yapman gereken; nokta[n].ykor;
cevabınız için çok teşekkürler acaba bana bi pm atabilirmisiniz sizin profılınızı goremedıgım ıcın ben atmayıoyrum sormam gerekn bir kaç birşey daha var
aslında tam takıldığım yer değil öğrenci olduğum için pek bi bilgim yok ingilizcem iyi verdiğiniz siteyi inceledim ve çoğu bildiğim dosya okuma ve yazma komutları onlarla ilgili bi sorun yok ama kodu tam olarak nasıl yazacağımı anlamadım kod bu şekilde mi olacak
typedef struct { int xkor; int ykor; } Nokta; nokta[10000] int n = 0; while(!feof(dosya)) { fscanf(dosya, "%d", &nokta[n].xkor); fscanf(dosya, "%d", &nokta[n].ykor); ++n; }
anladığım kadarıyla burada ekrana herhangi bir bilgi gelmiyor mesela ben burada printf("\n nokta numarası ") printf("\n y kordinatı ") printf("\n xkordinatı ") gibi komutları bunun nersine yerleştircem? birde ben aynı programın içinde hesaplamada yapmak istiyorum o yuzden stdio.h math.h ve stdlib.h kullanmam yeterli başka birşey kullanmama gerek yok değil mi
Ben sadece sorduğun şeyler hakkında bilgi vermeye çalıştım. Neyi nereye yazacağın sana kalmış. Ama onları o şekilde arka arkaya yazarsan derlenmez bile.
O döngü dosya içeriğini belleğe (diziye) yükler. Oradaki fscanf leri fprintf yaparsan bu sefer tam tersi olur yani belleği dosyaya yazan bir fonksiyon elde etmiş olursun. Dosyanın ilk halini nasıl dolduracağını ben bilmem. İstersen not defterini açıp kendin doldur farketmez.
o zaman şöyle sorayım ben senin dediğinden farklı olarak bi kod derledim ancak ayrıntılı bilmediğim için gerekli kelime süslemelerini yapamadım
/*prg14*/ /*Bu program LINUX altinda calismaz!*/ #include<stdio.h> #include<conio.h> #include<math.h> int main() { double x1,y1,xn,yn,xm,ym,f=0.0; int i=0,j=0; do { j=j+1; printf("\nx%i=",j); scanf("%lf",&xm); printf("\ny%i=",j); scanf("%lf",&ym); if(j==1) { x1=xm; y1=ym; } else { f=f+(xn*ym-xm*yn); } yn=ym; xn=xm; printf("\ndevam icin bir tusa basin, cikis esc"); i=_getch(); } while(i!=27); f=f+(xm*y1-x1*ym); f=fabs(f)/2.0; printf("\nf=%.2lf",f); return 0; }
kod bu ancak ben şöyle olmasını istiyorum mesela 5. noktanın kordinatını girerken 5. noktanın x kordinatını giriniz girdikten sonra aynı şekilde y kordinatını giriniz şeklinde y kordinatını istemesini istiyorum ve kodda
program çalıştığında şu şekilde olack ekranda ilk olarak benden nokta numarası isteyecek ve daha sonra noktanın x kordinatını sonrada y kordinatını isteyecek...
nokta numarası "nn" adlı değişkene x kordinatı "xkor" adlı değişkene y kordinatı da "ykor" adlı değişkene atayacak ve bunları bir dosyaya kaydedip saklayacak yani bir örnek vermek gerekirse;
ben programa 1 numaralı noktanın xkordinatlarını ve ykordinatlarını girdiğim zaman değişken isimleri şöyle olacak
nn=1 xkor1=458.458 ykor2=452.789 yani demek istediğim 1. noktanın x kordinatlarını kullanacağım zaman xkor1 2. noktanın x kordinatını kullanacağım zaman xkor2 yazmasını istiyorum. y ler için de aynısını olmasını istiyorum.
daha sonra hesap yapmam gerektiği zaman mesela ykordinat değerinden xkordinat değerini çıkarmak istediğim zaman kodlamada gerekli kodlar ile dosyaya yazdığımız xkor ve ykorları çekip
ykor-xkor yazmam yeterli olacak lütfen yardım edin
en son anlatma kapasitem bu eğer açıklamam gereken yer olursa lütfen cevap atın veya pm atın olur mu şimdiden teşekkürler
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.