Arama butonu
Bu konudaki kullanıcılar: 1 misafir
0
Cevap
135
Tıklama
0
Öne Çıkarma
c programlama dilinde dosya okuma işlemi hatası
E
geçen yıl
Er
Konu Sahibi

10 elemanlı bir dizideki ilk i elemanın toplamı, dizinin i'den sonraki elemanlarının toplamına eşitse i sayısını yazdıran programı yazınız. Örnek: 3 5 2 4 1 2 5 3 1 2 3+5+2+4 = 1+2+5+3+1+2 Cevap: 4 (indis 3)

soru bu şekilde fakat input dosyasından okumaya çalıştığımda olmuyor her şeyi denedim yapay zeka ile halletmeye çalıştım olmadı .sorun 2.döngüyü ne zaman açsam sorun orada başlıyor inputtaki dizinin elemanlarını olduğundan farklı yansıtıyor örneğin -18002032

yaptığım kod şu şekilde :

#include<stdio.h>
int main()
{
FILE *oku, *yaz;
oku = fopen("input.txt","r");
yaz = fopen("output.txt","w");
int dizi[30], n = 30, sayac = 0, i,j,toplam1=0,toplam2=0;

while(sayac < 1000)
{
for(i = 0; i < n; i++)
{
fscanf(oku,"%d", &dizi);

int k=dizi
toplam1=toplam1+k ;
 
for(j=i+1 ; j<10 ; j++)
{
int m=dizi[j] ; 
toplam2=toplam2+m ;

}

if(toplam1==toplam2)
{

printf("%d",i) ;  

}

else
{
toplam2=0 ; 

}

}
sayac++;
}

fclose(oku);
fclose(yaz);
return 0;
}







bu şekilde fakat dediğim gibi şöyle yapsam yani ikinci döngüden inputtaki dizinin elemanlarını kontrol etsem dediğim gibi saçma sapan sayılar çıkıyor . ikinci döngüyü açtığım zaman oluyor . teyit etmek amaçlı yapıyorum bunu da . tek döngüden teyit edince diiznin elemanlarını yansıtıyorum sorun olmuyor ama ...

#include<stdio.h>
int main()
{
FILE *oku, *yaz;
oku = fopen("input.txt","r");
yaz = fopen("output.txt","w");
int dizi[30], n = 30, sayac = 0, i,j;

while(sayac < 2)
{
for(i = 0; i < n; i++)
{
fscanf(oku,"%d", &dizi);

for(j=i+1 ; j<n ; j++)
{

printf("%d ",dizi[j]) ;

}
printf("\n") ; 







}
sayac++;
}

fclose(oku);
fclose(yaz);
return 0;
}

Lütfen yardım ediniz çözemiyorum...



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.