Tam Sürümünü Görmek İçin : Son girilen degeri diziye dahil etmemek
forumu kirletmemek icin tekrar buraya yaziyorum.arkadaslar dizileri ogrenmeye calisiyorum asagidaki kodlari calistirinca -1 i girince -1 i dizi olarak almadan cikmasini istiyorum ama - 1 de dizi olarak aliyor.bunu nasil duzeltebilirim yardimci olursaniz sevinirim...
#include<stdio.h>
#include<conio.h>
int main()
{
int m=0, k, array[m];
printf("bir sayi giriniz:");
scanf("%d",&array[m]);
while(array[m] !=-1)
{m++;
printf("bir sayi giriniz:");
scanf("%d",&array[m]);
}
for(k=0;k<=m;k++)
printf("%d",array[k]);
getch();
return 0;
}
int el;
.......
do
{
printf("bir sayi giriniz:");
scanf("%d",&el);
if (el>=0)
{
array[m]=el;
m++;
}
}while(el>=0)
!döngü dışında veri girişi yaptırmana gerek yok.Kodundaki ilk scanf'yi silmelisin.
Ayrıca int m=0, array[m];
dedikten sonra döngü içinde arrayın boyutu aşıldığında hata verir. Array'ı yeniden boyutlandırman lazım. Bilseydim anlatırdım. Bilmiyorum demek ayıp değil, bilmiyorum.
tesekkur ederim aga yalniz do-while deki do nun islevini biraz aciklar misin?
do-while ,while gibi bir döngüdür.
Tek farkı do-whilede program akışı döngüye geldiğinde döngüye girer kontrol en sonunda gerçekleşir. Yani kontrol döngünün sonunda olduğu için her halükarda döngüye girilir. Bildiğin gibi bu kontrol, while de döngüye girmeden yapılıyordu.:)
http://forum.ceviz.net/soru-eleman-sayisi-belirsiz-arraylar-t50950.html
Düzelt niye çıkmıyor, anlamadım.
takilberime
03/02/2008, 15:42
C de array boyutunu program içinde değiştiremezsin.
Bunu yapabilmen için malloc fonksiyonlarını araştırmanı öneririm.
Sizin yukarıda yapmak istediğiniz dinamik array kategorisine girer.
Henüz dizileri yeni öğreniyorum demenizden yola çıkarak bu konu sizin için biraz ağır kaçabilir.En azından bi pointer bilgisine ihtiyacınız var.
veya array boyutu-1 şeklinde bastırabilirsin.
for(k=0; k<m-1; k++) printf...
şeklinde
negzel c++ la yazıyorsun.büyük avantaj.vektör kullan
http://www.cppreference.com/cppvector/index.html
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.