Vektörlerde kelimeleri nasıl yazdırabiliriz. Örneğin data.txt dosyamı aşağıdadaki linkte. Mesela oradaki noble gas olan bütün elementleri yazdırmam gerekiyor, saatlerdir uğraşıyorum yapamadım. Biri bana yardım etsin saat 4'te ödevi teslim etmem gerek. sadece vektörlerde kelimelerin nasıl yazdırıldığını gösterseniz bile yeter. http://www1.gantep.edu.tr/~bingul/ep578/docs/atomic.txt |
Bak bir örnek yazdım. Bu bir string vektörü ve her eleman dosyanın bir satırı. writeVector() fonksiyonu içeriğe göre uygun olan elementleri yazdırıyor.
|
Oncelikle iyi gunler ; Programin amaci koordinat duzleminde 2 nokta arasindaki uzakligi bulma , bulma islemini yaparken struct yapi tiplerini kullanip ayri fonksiyonlarda islemleri gerceklestirip ana foknsiyona gondermek istedim fakat programin ' mesafe = mesafe_fon(&n1,n2); ' bu satirinda hata verdi ve nedenini bulamadim bilgilerinize sunar cozum onerilerinizi beklerim .. #include <stdio.h> #include <math.h> struct noktatipi { int x,y; }; struct noktatipi oku(void); float mesafe_fon(struct noktatipi*,struct noktatipi*); int main(void) { struct noktatipi n1,n2; float mesafe; n1 = oku(); n2 = oku(); mesafe = mesafe_fon(&n1,n2); printf("2 nokta arasindaki mesafe :%0.2lf\n\n"); getch(); return 0; } struct noktatipi oku(void) { struct noktatipi gecici ; printf("Noktanin X ve Y koordinatlarini giriniz :"); scanf("%d %d",&gecici.x,&gecici.y); return(gecici); } float mesafe_fon(struct noktatipi *a,struct noktatipi *b) { float uz1 = pow((a->x - b->x),2); float uz2 = pow((a->y - b->y),2); return(sqrt(uz1+uz2)); } |
mesafe_fon(&n1,&n2); & işareti n2'nin önünde eksik. |
Hay aksi bazen boyle ufak seyleri kacirip programda hata ariyorum .. Yardiminiz icin tesekkurler... |
C dilinde .csv uzantılı bir dosyadan okuma yapacağım. mesela örnek csv dosyamız bu olsun; ;;;;;333:546;turk lirasi;44;00;;;; ;;;;4234234423423;;;;;; ;;;;;99:11;333:546;turk lirasi;44;00;;;; şimdi ";" ve ":"leri atlayacağım. "333"u bir değişkene atayacağım. Sonra "546"i başka bir değişkene atayacağım. sonra "turk lirasi"nı bir stringe atayacağım.ve yine sayılar atanacak işte. Fakat alttaki satırı atlayıp tekrar diğer satıra gelip ordan okumaya devam edeceğim. fseek falan kullanacağım ama nasıl kullanacağım bilmiyorum,mümkünse küçük bir örnek ile yardım ederseniz çok minnettar olurum. |
fseek ile olmaz, yani çok zor ve hataya açık olur. Önerim şu şekilde. Dosyayı fgets() ile satır satır oku. Böylece her satırı bellek üzerinde işleyebilirsin. Satır atlamak için ise bir kez daha fgets() çalıştırman yeterli. Dizi içindeki bu karakterleri teker teker kontrol edebilirsin. isdigit() fonksiyonu karakterin rakam olup olmadığını söyler. Rakamsa bunları başka bir diziye kopyalayıp atoi() ile sayıya çevirebilirsin. isalpha() ise harf olup olmadığına bakar. Harf olanlarıda başka bir diziye kopyalarsın. Dikkat etmen gereken şey karakterleri tek tek kopyaladıktan sonra mutlaka NULL eklemek. |
Biri kısaca şu simgesel sabitlerin ve karakter giriş çıkışı (dosya kopyalamak,karakter saymak,satır saymak,sözcük saymak vs) ne işe yaradığını anlatabilir mi ? Dennis M. Ritchie nin C dili kitabından c dili çalışıyorum ne işe yaradıklarını anlamadım tıkandım. |
for (int i = 0; i <= 9; i++) { entry = Convert.ToInt32(System.Console.ReadLine()); if (entry < 0 || entry > 100) { System.Console.WriteLine("0 ile 100 arasinda olmayan degerler gecersizdir."); } else { dizi = entry; //--->> bu satırda hata vermesinin sebebi nedir? top = top + dizi; } } |
Çok teşekkür ederim. sabit bir csv dosya şeması üstünden okunmalar gerçekleşeceği için fseek mantıklı gelmişti. Dediğiniz yöntemle yaptım, çalışıyor. Tekrardan teşekkür ederim. |
Programlama da çok ama çok yeniyim. Yapabileceğimi de sanmıyorum ama öyle uğraşıyorum. Şimdilik anlayamadığım muhtemelen çok basit bir şeyi soracağım sizlere. C# programlama dilinde i+ ile i++ arasındaki fark nedir ? İkiside i sayısını bir arttırmıyor mu ? |
programın tamamını ve hatayıda paylaşırsan yardımcı olabilirim. |
i+ diye bir ifade yoktur ancak i+5 falan yazarsan kullanabilirsin. i++ ve ++i i'yi 1 artırır. ilki i'yi birkez kullanır sonra artırır ikincisi ise önce artırır sonra i'yi kullanır |
Cevap verebilecek biri yok mu ? |
Yazdıklarından pek birşey anlaşılmıyor. Simgesel sabit dediğin #define sabitleri heralde. #define MAX 100 Derleyici kodu derlemeden önce MAX gördüğü her yere 100 yazar. Yani sabit bir değeri bir sembol ile ifade etmek içindir. Diğer saydıkların dille alakalı şeyler değil. |
Örnek: Bir sınıftaki öğrencilerin herhangi bir dersten almış oldukları ara sınav notlarını okuyan sınav notlarını ekranda görüntüleyen sınıf ortalamasını hesaplayan alınan en küçük notla alınan en büyük notu ekranda görüntüleyen, notları küçükten büyüğe doğru sıralayan sıralanmış notları ekranda görüntüleyen C++ programını yazınız. Bunu cevaplayabilirmisiniz ? |
ARKADAŞLAR, diziler ile ilgil bi yre takıldım yada gece 2 den sonra kafa basmamişta olabilir:))) ama sormadan yatamayaçağim. diziler sabit boyutludur. kulanılmadan belirlenmelidir. burası tamam ama ben istiyorum ki kullanıcı önceden kaç kayıt yapacak ise boyutu belirlesin. yani 5 kişi kayıt yapacak ise 5 kişilik bi kayıt alsın. yani dizinn boyutunu dişardan belirleyebilir miyim??? ""sayi""değerini dışardan girip diziye boyut olarak vermek istiyorum ? ACABA FARKLI Bİ YERE Mİ TAKILDIM??? ![]() private void button1_Click_2(object sender, EventArgs e) { sayi = Convert.ToInt32(Interaction.InputBox ("öğrenci sayısını giriniz", "öğrenci sayısı", "0", 10, 10)); } // int n; ogrenci[] öğrenciler=new ogrenci[sayi]; ogrenci.veli_bilgi[] veli=new ogrenci.veli_bilgi[sayi]; |
Cevabın için teşekkür ediyorum.Karakter giriş çıkışı konusunda ise konuda getchar ve putchar ile ilgili şeyler anlatıyor.Üstte dediğim konu başlıklarıydı. |
c'de elemanlarını kullanıcının girdiği bir dizide hangi elemandan kaç tane olduğunu nasıl kontrol ettiririm? |
Anladım teşekkürler.
Bu mesaja 2 cevap geldi. Cevapları Gizle