Double yapma hatası

Merhabalar kullanıcının girdigi sayıları alt alta yazdırarak pozitif sayıların sayısını,pozitiflerin toplamını,pozitiflerin ortamalasını,negatiflerin sayısını,negatiflerin toplamını ve negatiflerin ortalamasını çıkaran bir program yazıyorum ama double olarak girdigim zaman hata veriyor düzeltmemi nasıl yapmalıyım

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace midterm
{
    class Program
    {


        static void Main(string[] args)
        {
            ArrayList positiveNumbers = new ArrayList();
            ArrayList negativeNumbers = new ArrayList();
            int response = 0;
            double negativeNumbersSum = 0;
            double positiveNumbersSum = 0;
            int negativeNumbersCount = 0;
            int positiveNumbersCount = 0;

            do
            {
                Console.Write("Sayı giriniz (Çıkış için 0’a basınız):");
                response = Convert.ToInt32(Console.ReadLine());
                int number = Convert.ToInt32(response);
                if (number < 0)
                {
                    negativeNumbers.Add(number);
                }
                else if (number > 0)
                {
                    positiveNumbers.Add(number);
                }
            } while (response != 0);

            foreach (int number in negativeNumbers)
            {
                negativeNumbersCount++;
                negativeNumbersSum += number;
            }
            foreach (int number in positiveNumbers)
            {
                positiveNumbersCount++;
                positiveNumbersSum += number;
            }
            Console.WriteLine("Pozitif tam sayıların sayısı:" + positiveNumbersCount);
            Console.WriteLine("Negatif tam sayıların sayısı:" + negativeNumbersCount);
            Console.WriteLine("Pozitif tam sayıların toplamı:" + positiveNumbersSum);
            Console.WriteLine("Negatif tam sayıların toplamı:" + negativeNumbersSum);
            Console.WriteLine("Pozitif tam sayıların ortalaması:" + positiveNumbersSum / positiveNumbersCount);
            Console.WriteLine("Negatif tam sayıların ortalaması:" + negativeNumbersSum / negativeNumbersCount);
            Console.ReadLine();
        }
    }
}

kodunu ```
kullanarak düzenlermisin

1 Beğeni

Kodunuzdaki girintileri düzeltirseniz daha okunaklı olacak. İstiyorsanız en baştan kopyalayın.

aslında dil biraz pythona benziyor

Satır 24 ve 27 de array’e sayıyı değil numbersCount’u ekliyorsunuz. Bu yüzden de arraye sürekli 0 ekleniyor. numbersCount’u number olarak değiştirirseniz problem çözülür.

1 Beğeni

@ibrahimcetin tekrardan bakarmısınız hocam double olarak sonuç alamıyorum

Açıkçası benim C# bilgim yok. Ama genel olarak programlamayı bildiğim için cevap verdim. C# bilen birine sorarsanız daha iyi olur.

double almaya meyilli değil program şu haliyle. Bunları bir gözden geçirin isterseniz.

Bir de şu kısımda response ve number’ın ikisi birden gereksiz değil mi?

cevabi çözüm olarak işaretleme var başlığı değiştirmenize gerek yok

1 Beğeni

Sorunu nasıl çözdüğünüzü anlatıp kendi mesajınızı cevap olarak işaretleyebilirsiniz.

Tabii sorunu verilen cevaplardan biri çözüme kavuşturduysa onu cevap olarak seçmeniz daha uygun olur.

Konular çözüldüğü zaman kapatılmıyor. Bazen insanlar çözülmüş konulara tekrar yazılar yazabiliyorlar.

1 Beğeni

Konu başlığının adı neydi?:slight_smile: