#c_sharp #массивы
Я создала строковый массив,и рандомно присвоила элементам значения в помощью переменной типа int (0,1) и вывела на консоль "черное" и "белое". Как вывести на экран еще и количество элементов в массиве отдельно с названием "черное" и названием "белое"? int numberOfBalls = 100; string[] balls = new string[numberOfBalls]; Random rnd = new Random(); int a = rnd.Next(0, 2); for (int i = 0; i < numberOfBalls; i++) { a = rnd.Next(0, 2); if (a == 0) balls[i] = "beloe"; else balls[i] = "chernoe"; } for (int i = 0; i < numberOfBalls; i++) { Console.WriteLine(balls[i]); }
Ответы
Ответ 1
Воспользуйтесь методом расширения Count: Console.WriteLine(balls.Count(s => s == "beloe")); Классический вариант сделать тоже самое вручную в цикле: int count = 0; foreach (string s in balls) if (s == "beloe") ++count; Console.WriteLine(count); С помощью цикла for: int count = 0; for (int i = 0; i < numberOfBalls; ++i) if (balls[i] == "beloe") ++count; Console.WriteLine(count); Для подсчета количества "черных" код аналогичен.Ответ 2
А можно в списке так и хранить 0 и 1 (занимает меньше места в памяти), а проверку черное/белое проводить перед выводом текста. Тогда сумма черных будет var black = balls.Sum(); без всяких циклов (т.к. в списке только 0 и 1, то сумма всех элементов даст нам сумму единиц, которая и есть количество "черных" элементов). А сумма белых: var white = numberOfBalls - black;
Комментариев нет:
Отправить комментарий