Выясните есть ли мячи одинакового цвета или диаметра - C#
Формулировка задачи:
В детском саду есть N мячей. Имеются сведения о диаметре и цвете каждого мяча. Выясните: а) есть ли мячи одинакового цвета или диаметра; б) есть ли среди красных мячей такой, что его диаметр превосходит средний диаметр всех мячей.
Решение задачи: «Выясните есть ли мячи одинакового цвета или диаметра»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
struct Boll
{
public double Diam;
public string Color;
}
class Program
{
static void Main()
{
Console.Write("Введите количество мячей: ");
int n = int.Parse(Console.ReadLine());
Boll[] b = new Boll[n];
for (int j = 0; j < n; j++)
{
Console.Write("Введите диаметр мяча: ");
b[j].Diam = double.Parse(Console.ReadLine());
Console.WriteLine("Введите цвет мяча: ");
b[j].Color = Console.ReadLine();
}
int countd = 0, countc = 0;
int indexd = 0, indexc = 0;
double midDiam = 0;
for (int j = 0; j < b.Length; j++)
{
for (int i = 0; i < b.Length; i++)
{
if (b[j].Diam == b[i].Diam & j != i)
{
countd++;
indexd = j;
}
if (b[j].Color == b[i].Color & j != i)
{
countc++;
indexc = j;
}
}
midDiam += b[j].Diam;
}
midDiam /= b.Length; // находим среднее арифм. диаметров
if (countd > 0)
Console.WriteLine("Найдено " + countd + " мяча с одинаковым диаметром: " + b[indexd].Diam);
else
Console.WriteLine("Мячей с одинаковым диаметром не найдено!");
if (countc > 0)
Console.WriteLine("Найдено " + countc + " мяча с одинаковым цветом: " + b[indexc].Color);
else
Console.WriteLine("Мячей с одинаковым цветом не найдено!");
bool f = false;
for (int j = 0; j < b.Length; j++)
{
if (b[j].Color == "Красный" & b[j].Diam > midDiam)
{
Console.WriteLine("Красный мяч с диаметром " + b[j].Diam + " - имеет диаметр больше среднего.");
f = false;
}
else f = true;
}
if (f)
Console.WriteLine("Мячей красного цвета с диматром больше среднего не найдено!");
Console.ReadKey();
}
}
}