Цвет машины - PullRequest
       1

Цвет машины

0 голосов
/ 11 апреля 2011

Не могли бы вы дать мне подсказку о том, как решить эту проблему?

Как узнать, имеют ли большинство автомобилей одинаковый цвет, если единственная функция, которую я могу использовать, - это проверить, имеют ли два автомобиля одинаковый цвет?

Ответы [ 2 ]

7 голосов
/ 11 апреля 2011

При равенстве вы можете сначала построить эквивалент классов, а затем сосчитать самый большой.

0 голосов
/ 11 апреля 2011

Вы можете создать «список», в котором цвет автомобиля является ключевым значением, и он подсчитывает, сколько автомобилей этого цвета у вас есть, и хранит автомобиль этого цвета.

Это выглядит примерно так:

у вас будет структура со следующими полями:

struct color
  car *car_with_color = NULL
  int count = 0

, поэтому вы идете в первый магазин автомобилей, его цвет и добавляете 1:

color[1].car_with_color=&cars[1];
color[1].count=1;

затемдля следующей машины, которую вы делаете:

if (cars[2].color == color[1].car_with_color->color)
  color[1].count++;
else
  color[2].car_with_color=&cars[2];
  color[2].count=1;

и так далее:

for (i=1;i<=NUM_OF_CARS;i++){
  j=1;
  while (color[j].car_with_color != NULL){
    if (cars[i].color == color[j].car_with_color->color){
      color[i].count++;
      break;
    }else 
      j++;
  }
  if (color[j].car_with_color == NULL){
    color[j].car_with_color=&cars[i];
    color[j].count=1;
   }
 }

она написана в виде C как псевдокод.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...