PDA

Просмотр полной версии : Задачка на С++... 1 курс ПОМОГИТЕ ПОЖАЛСТА



d1mkoo
20.02.2008, 21:09
ТЕма "ЦИКЛЫ", массивы нельзя использовать, помогите пожалста с решением задачи, никак не могу понять ,как это сделать без массива...
вот текст задачи:
12. Известна температура больного за 20 дней пребывания в больнице. Можно ли его выписывать, если для этого требуется, чтобы не менее половины всех дней, когда у него была температура ниже 37°, приходилось на вторую половину его пребывания в больнице?
ps спасибо заранее всем кто ответит

Dim...ON
20.02.2008, 23:08
написал тебе в аську, но на случай, если ты там не бываешь:

просто заводишь 2 переменные типа int для счётчика, и по мере ввода нового значения температуры (а как я понимаю оно будет вводиться по мере обсчёта, иначе никак без массивов) проверяешь это значение на 2 условия:
1) оно меньше 37
2) оно из первой десятки (тогда записываешь его в первый счётчик) или из второй (тогда - во второй)
а в конце просто сравниваешь 2 счётчика и если второй > первого, то пинаешь больного с его койки

airyashov
21.02.2008, 09:44
Проанализируйте только втрорую десятку.
Температура <37 к счетчику +1, счетчик=10, да-пинуть с койки

Хыиуду
21.02.2008, 10:52
airyashov, так не сработает. Допустим, у него была температура ниже 37 два раза в первые 10 дней и 4 раза во вторые. По правилам - его надо выписывать. А по вашей системе - надо оставлять.
Хотя по логике вещей больного с такой динамикой выписывать нельзя.

airyashov
21.02.2008, 11:09
airyashov, так не сработает. Допустим, у него была температура ниже 37 два раза в первые 10 дней и 4 раза во вторые. По правилам - его надо выписывать. А по вашей системе - надо оставлять.
Хотя по логике вещей больного с такой динамикой выписывать нельзя.
неправильно понял условия, тогда один счетчик только для первой половины суммировать, а для второй вычитать или наоборот

Vicious
21.02.2008, 14:23
Для VS 2005 это будет выглядеть примерно так:


#include "stdafx.h"
#include <conio.h>
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
double dTemp;
int iDaysTLess37 = 0;
int iDaysTLess37SecondHalf = 0;
for (int i = 0; i < 20; i++)
{
cout << i+1 << " day temperature is: ";
cin >> dTemp;
if (dTemp < 37)
{
iDaysTLess37++;
if (i > 9)
iDaysTLess37SecondHalf++;
}
}

if (iDaysTLess37SecondHalf > iDaysTLess37/2)
cout << "Go home";
else
cout << "Stay in hospital";

cout << "\nPress any key to exit...";
_getch();
return 0;
}

d1mkoo
21.02.2008, 14:46
спасибо всем огромное.... очень помогло, респект