Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
6
Cevap
309
Tıklama
0
Öne Çıkarma
C# Ödevi acil
K
11 yıl (14 mesaj)
Er
Konu Sahibi

Merhaba arkadaşlar ödevim varda aslında bildigim bi konu ama devamlı bi eksik bi hata veriyor ödev
"Klavyeden girilen 200 adet sayı içindeki pozitif olan sayıların ortalamasını bulduran programın algoritmasını ve akış şemasını yazınız"
for döngüsüyle yapıyorum ama program hiç tam olarak çalışmıyo dönüştürme işlemi yapıyorum hata verıyor bide ödev biraz acil yardımcı olursanız çok seviniirm.



D
11 yıl (1608 mesaj)
Binbaşı

İstersen sen kodunu burda paylaş hatayı görelim.

int toplam = 0;
int [] sayilar = new int[];
int count =0;
for(int i=0;i<200;i++)
{
//Burda sayıları al klavyeden
}

for(int i=0;i<200;i++)
{
if(sayilar>0)
{
toplam+=sayilar;
count++;
}
}

int sonuc = toplam/count;

gibisinden bişi çalışır sanırım. Ufak kod hataları olabilir. Mantığını gör yeter.


Bu mesaja 1 cevap geldi.
K
11 yıl (14 mesaj)
Er
Konu Sahibi

Biz genelde daha basit bi yöntem yapıyoruz mesela ilk toplamını buluyoruz bakın ben yaptııgmı atıyım hatamı soyleyın daha dogru olur dedıgınız gibi sizin yontemınızı hiç denemedim o yüzden bi fikrim yok ama

int k,sayi,toplam=0,ortalama;
for (k=0;k<200;k++)
{
Console.Write("{0}.sayıyı giriniz:"k++);
sayi = Convert.ToInt32(Console.ReadLine());
if (sayi>0)
}
{
toplam=toplam+sayi;
ortalama=toplam/3; şeklinde yapıyorum

bundan sonrasını tahmin edebilirsiniz işte sorun burda ortalamayı bulduramıyorum eksiklerimde yardımcı olursanız ınsanın cok sevınırım yeniyim bide :)


Bu mesaja 1 cevap geldi.
D
11 yıl (1608 mesaj)
Binbaşı

Öncelikle kodunda parantezlerin bu şekilde olmadığını var sayıyorum. if'ten sonra for döngüsünün parantezini kapatıp daha sonra yeni parantez açman hata verirdi zaten. (Burda parantezlerden kastım süslü parantezler.)

Anladığım kadarıyla mantığın doğru. Ama toplamı neden 3'e bölüyosun anlamadım. Sadece pozitif sayıları dikkate alıp toplama ekliyosun. Burdan sonra kaç tane pozitif sayı varsa ona bölmen gerek.

Ortalama = toplam/pozitifler


Bu mesaja 1 cevap geldi.
K
11 yıl (14 mesaj)
Er
Konu Sahibi

haklısınız parantezleri hatalı yapmışım düzelticem hemen ancak dediginizi yapıyorum ama yinede devam etmiyor yani bu mantıkla bana önerebiliceginiz yazdıgımın devamını getırmem için yardımcı olurmusunuz ?


Bu mesaja 1 cevap geldi.
D
11 yıl (1608 mesaj)
Binbaşı

Bütün kodu yollayabilir misin? İster buraya yaz, ister pm at.


Bu mesaja 1 cevap geldi.
G
11 yıl (4352 mesaj)
Yarbay

 



using System;

namespace mkı
{
class Program
{
public static void Main(string[] args)
{

double k,sayi,toplam=0,ortalama=0,adet=0;
for (k=1;k<201;k+=1)
{
Console.Write("{0}.sayıyı giriniz:",k+=0);
sayi = Convert.ToInt32(Console.ReadLine());
if (sayi>0)
{
adet+=1;
toplam=toplam+sayi;
ortalama=toplam/adet;
}

}

Console.Write("ortalama= "+ortalama);
Console.ReadKey();
}
}
}








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.