Statik olarak ta yapabilirsin. Derlerken maksimum satır sayısını belirteceksin (örnekte 100). Hem cache dostu, hem bellekten tasarruf.
|
hepsinin adres verdiğini ve [0]. İndisin adresi olduğunu anlatmak istemiş |
hmm şöyle açıklayım: her değişken ram'de bir yerlerde tutulur bunlara ulaşabilmek için her birinin başlangıç adresi bize verilir yani altında yatar yoksa hiç bişey yapamayız. O başlangıç adresini & operatörü ile alabilriz işte o gördüğün harfli sayılı olan adres ona HexeDecimal deniyor biraz bilgisiyar mimarisini incele. Birde şurda önceden küçük makaller yazmıştım umrım mantığı anlamanda yardımcı olur: 1-http://forum.gronia.org/konu-c-pointers-gostericiler-556.html 2-http://forum.gronia.org/konu-c-pointers-gostericiler-2-574.html 3-http://forum.gronia.org/konu-c-pointers-gostericiler-dinamik-bellek-yonetimi-3-588.html 4-http://forum.gronia.org/konu-c-pointers-gostericiler-4-590.html |
kardeşim bizim sınav sorumuzdu karabuk unideyim :) #include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> // Ýstenilenler veriGir adýnda 10 ogrencinin isim-soyisim sýnav notunu alan fonksiyonu yazýnýz. //10 ogrenciden en yuksek alaný bulan maksimumBul adlý fonksiyonu yazýnýz. //Yukarýdaki fonksiyonlarý kullanarak ekrana çýktý olarak en yüksek not alaný //isim soyisim ve sýnav sonucuyla ekrana çýktý veren programý yazýnýz. void veriGir(); int maksimumBul(); struct ogrenci{ char ad[20]; char soyad[20]; int notu; }ogr[9]; void veriGir() { int i; for(i=0;i<=9;i++) { printf("%d. Ogrencinin ismini giriniz:",i+1); scanf("%s",&ogr.ad); printf("%d. Ogrencinin soyadini giriniz:",i+1); scanf("%s",&ogr.soyad); printf("%d. Ogrencinin notunu giriniz:",i+1); scanf("%d",&ogr.notu); } } int maksimumBul() { int i,enb; enb = ogr.notu; for(i=0;i<9;i++) { if(ogr.notu>enb) { enb = ogr.notu; } } return enb; } int minbul() { int i, enk; enk=ogr[1].notu; for(i=0; i<9; i++) { if (ogr[1].notu>enk) { enk= ogr.notu; } } return enk; } int main() { int i; veriGir(); int enb = maksimumBul(); for(i=0;i<9;i++) { if(enb == ogr.notu) printf("%s %s adli ogrenci %d notu ile en yuksek notu almistir.",ogr.ad,ogr.soyad,ogr.notu); } int i,enk; int enk = minBul(); for(i=0;i<9;i++) { if(enk == ogr.notu) printf("%s %s adli ogrenci %d notu ile en düşük notu almistir.",ogr.ad,ogr.soyad,ogr.notu); } getch(); } |
Ben bu programı nasıl değiştireceğim anlamadım ya Hoca bize bi program yaptırdı Ben yaptım fakat 1 hafta sonra Bu programın daha farklısını ama aynı sonucu ve aynı şeyleri kullanacağını istedi ve daha farklı bir program yapmamızı istedi Kodlar bunlar arkadaşlar using System; |
Arkadaşlar benimde bir sorum var . Yardımcı olursanız çok sevinirim . Aşağıda belirtilen şekilde bir C++ programı yazınız. 1. Bir dosyadan (sayilar.txt) sayıları dosya sonuna kadar okutun ve okutulan değerleri bir diziye yazınız. 2. Kullanıcı menüsünü gösterecek menu() isimli bir fonksiyon yazınız. GOSTER 1. Tum sayilari 2. Cift sayilari 3. Tek sayilarin dizi indislerini 4. Dizi indisi cift sayi olan dizi elemanlarini 5. En kucuk sayiyi 6. En buyuk sayinin indisini 7. Uce bolunebilir sayilarin adedi 8. Tum sayilarin ortalamasi 9. Cikis Seciminizi yapin: 3. Her opsiyon için istenilen işlemi yapan fonksiyonlar yazınız. 4. Programınızı çalıştıracak bir main fonksiyonu yazınız. sayilar.txt 15 24 65 2 33 78 5 61 4 42 23 1 12 18 32 68 123 111 75 |
Bir array ın içinden bir item bulmamı sağlayan bir algoritma önerebilir misiniz mesala alinin şapkası diye bir item var şapka stringini aratınca arrayın içinde eşleşeni bulsun şuan lev distance ile kendi yazdığım algoritmayı kullanıyorum fakat x i aratıyorum x olmadığı takdirde uzaktan yakından alakası olmayan şeyleri buluyor. |
arkadaşlar c - c++ bol örneklerin bulunduğu kitap önerebilir misiniz ? sadece örnekleri olanda olabilir |
c dilinde yazdım fakat nerede hata yaptım acil cevaplarmısınız neden cevap 5 çıkmıyor? |
birde floatla tanımladığım fonksiyonda neden böyle hatalar veriyor? |
scanf("%d,%d") yerine scanf("%d%d") yazarsan düzelecektir. Virgül yerine boşluk koyabilirsin , virgül koyduğunda 2. sayıyı alamıyor diye biliyorum Birde int main() yazsanda olur , argc argv o örnekte gereksiz olmuş Edit: Birde o yazdığın kodda , 5 10 sayısını yazdın diyelim ortalama olarak 7.000 değerini verecektir , 7.5 vermesi için ort=toplam*1.0/2; yazarsan düzelir |
float bol(int a,int b) gibi tanımlaman lazım |
rıfat çölkesenin işde c adlı kitabına yeni başladımda onda int yapmadan direk değer vermiş codeblocksda falan yazsam hata verirmi genede? içinin int mi olması lazım kesinlikle? edit:senin dedigin gibi yaptım hala aynı hatalar var edit 2:birde o arg arg olayına benimde kafam takıldıda programı new project console application olarak seçiyorum üsttekiler eklensin diye ondan arg lar geliyor herhalde :).bu arada virgül'lü olabilir demiş kitapta gerçi daha başları boşluk kullandım ilk program çalıştı :).ikincisi baya sorun yaratıyor ama ![]() |
float bol(a,b) int a,b; { ... } Bu yaptığın yöntemde doğruymuş Fonksiyon prototipini tanımlamadığındanda olabilir. Bu fonksiyonunun prototipi , float bol(int , int); dir . Bunu tanımladığın kütüphanelerin altına yaz . Yine hata verirse kodun hepsini buradan paylaş ,birde ben bakayım , resimlerle olmuyo |
#include <stdio.h> #include <stdlib.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char *argv[]) { int x,y,z; float f; printf("bir sayı giriniz:"); scanf("%d",&x); printf("yeniden sayı giriniz:"); scanf("%d",&y); z=topla(x,y); f=bol(x,y); printf(" iki sayının toplamı= %d ve iki sayının bölümü= %f idir",z,f); } float bol(int a,int b) int a,b; { float g; g=(float)a/b; return g; } int topla(a,b) int a,b; { int g; g=a+b; return g; } virus falanmı var acaba |
#include <stdio.h> #include <stdlib.h> float bol(int,int); int topla(int,int); prototipini yazınca düzeldi ![]() |
ne yaptın öyle kusura bakma öğrenmeye çalışıyorum sorarak ![]() birde ilk soruda araya virgül koymuyoruz değilmi ozaman klavyeden girilen sayı sorularında |
< Bu ileti tablet sürüm kullanılarak atıldı >
Bu mesajda bahsedilenler: @mustafaks