Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2013, 18:39   #1
Виктор27
Пользователь
 
Регистрация: 22.11.2013
Сообщений: 11
По умолчанию не могу понять

Задача:
В комнате N человек, M кошек, и К мух. Вместе у них 100 ног и лап.
Вычислить сколько в комнате людей,кошек и мух.
Код:
int N; 
double i, M;
float K;
for (N=0; N<=50; N++)
{
	for (M=0; M<=(100-2*N)/4; M++)
	{
		K = (100 - 2*N - 4*M)/6;
		i = K%1;  // РУГАЕТСЯ НА K (выражение должно иметь целочисленный или перечисляемый тип.
		if (i==0)
		printf ("N = %d\tM = %f\tK = %f\n", N, M, K);
	}
}
getch ();
}
Что делать с K?

Последний раз редактировалось Stilet; 25.11.2013 в 20:07.
Виктор27 вне форума Ответить с цитированием
Старый 25.11.2013, 19:55   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Прежде всего, задача имеет множество решений и решается при помощи 3-х циклов путём полного перебора.
Примем за аксиому.
1. У человека 2-е ноги, значит 50 человк, будут иметь 100 ног.
2. У кошки 4-е ноги, значит у 25-и кошек будет 100 ног.
3. Муха имеет 6 ног значит 16 мух, будут иметь 96 ног.

Делаем три цикла for:

Код:
for(int i=0; i<=100; i+=2)
  for(int j=0; j<= 100; j+=4)
    for(int k=0; k<=96; k+=6)
     if(i != 0 && j != 0 && k !=0)// Исключаем ситуации с нулевым количеством персонажей 
       if(i+j+k == 100)
       {
          Memo1->Lines->Add(IntToStr(i/2)+"  "+IntToStr(j/4)+" "+IntToStr(k/6));
       }
Результаты расчёта:

1 2 15
1 5 13
1 8 11
1 11 9
1 14 7
1 17 5
1 20 3
1 23 1
2 3 14
2 6 12
2 9 10
2 12 8
2 15 6
2 18 4
2 21 2
3 1 15
3 4 13
3 7 11
3 10 9
3 13 7
3 16 5
3 19 3
3 22 1
4 2 14
4 5 12
4 8 10
4 11 8
4 14 6
4 17 4
4 20 2
5 3 13
5 6 11
5 9 9
5 12 7
5 15 5
5 18 3
5 21 1
6 1 14
6 4 12
6 7 10
6 10 8
6 13 6
6 16 4
6 19 2
7 2 13
7 5 11
7 8 9
7 11 7
7 14 5
7 17 3
7 20 1
8 3 12
8 6 10
8 9 8
8 12 6
8 15 4
8 18 2
9 1 13
9 4 11
9 7 9
9 10 7
9 13 5
9 16 3
9 19 1
10 2 12
10 5 10
10 8 8
10 11 6
10 14 4
10 17 2
11 3 11
11 6 9
11 9 7
11 12 5
11 15 3
11 18 1
12 1 12
12 4 10
12 7 8
12 10 6
12 13 4
12 16 2
13 2 11
13 5 9
13 8 7
13 11 5
13 14 3
13 17 1
14 3 10
14 6 8
14 9 6
14 12 4
14 15 2
15 1 11
15 4 9
15 7 7
15 10 5
15 13 3
15 16 1
16 2 10
16 5 8
16 8 6
16 11 4
16 14 2
17 3 9
17 6 7
17 9 5
17 12 3
17 15 1
18 1 10
18 4 8
18 7 6
18 10 4
18 13 2
19 2 9
19 5 7
19 8 5
19 11 3
19 14 1
20 3 8
20 6 6
20 9 4
20 12 2
21 1 9
21 4 7
21 7 5
21 10 3
21 13 1
22 2 8
22 5 6
22 8 4
22 11 2
23 3 7
23 6 5
23 9 3
23 12 1
24 1 8
24 4 6
24 7 4
24 10 2
25 2 7
25 5 5
25 8 3
25 11 1
26 3 6
26 6 4
26 9 2
27 1 7
27 4 5
27 7 3
27 10 1
28 2 6
28 5 4
28 8 2
29 3 5
29 6 3
29 9 1
30 1 6
30 4 4
30 7 2
31 2 5
31 5 3
31 8 1
32 3 4
32 6 2
33 1 5
33 4 3
33 7 1
34 2 4
34 5 2
35 3 3
35 6 1
36 1 4
36 4 2
37 2 3
37 5 1
38 3 2
39 1 3
39 4 1
40 2 2
41 3 1
42 1 2
43 2 1
45 1 1
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 25.11.2013 в 20:14.
Smitt&Wesson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу понять Соні Общие вопросы C/C++ 2 26.09.2013 00:24
не могу понять Fantomka92 Общие вопросы C/C++ 4 27.11.2011 18:32
не могу понять... svoi92 Помощь студентам 1 08.02.2011 14:51
Не могу понять. mad_raven Общие вопросы C/C++ 10 11.10.2010 03:33