Сделать таблицу истинности по задаче Водители трех транспортных средств участников ДТП
автобуса, легкового автомобиля и маршрутного такси давали
объяснения инспектору ГИБДД. На вопрос инспектора о том, кто
спровоцировал аварию, водители ответили следующее:
Водитель автобуса: «Я не нарушал ПДД, и водитель легкового
автомобиля тоже». Водитель легкового автомобиля: «Водитель
автобуса не является нарушителем, правила нарушил водитель
маршрутки». Водитель маршрутки: «Я не делал этого, ПДД
нарушил водитель автобуса». Известно, что один из водителей
исказил оба факта, другой сказал чистую правду, а третий в
одной части своего заявления солгал, а другая часть его
признания истинна. Кто виноват в аварии?
2. Да
3. Да, ложная информация несет меньше информативности4. Да, текст написаный коряво врачем несет меньше информации чем мог бы5. Да, если отрезать от дискеты кусочек ее магнитного диска, то объем информации уменьшится и информативность снизится6. Да, если информация новая, значит ее еще не знают, значит информативность больше7. понятное дело зависит8. да, мутный текст на экране может потерять смысл как и костноязычно выраженный9. нет10. нет, данные на дискете будут иметь одну и туже информативность не зависимо от того совпадает ли эти данные с чем или нет.11. да, чем объективнее тем больше информативность12. да. потому что чем выше адекватность, тем точнее информация описывает заданные образы13. и да и нет. Если дискета с секретной базой стоит дорого то она информативна. Простой астроном может смотреть в свой дешевый телескоп и делать наблюдения сопоставимые по информативности большим и дорогим обсерваториям.14. очевидно да. чем секретнее тем меньше об этом знают люди, тем информативнее это может быть.
float average(int* a, int first, int last)
{
int s = 0;
for(int i = first; i <= last; ++i)
s += a[i];
return s * 1. / (last - first + 1);
}
int min_i(int* a, int n)
{
int m = a[0];
int numb = 0;
for(int i = 1; i < n; ++i)
if(m > a[i])
{
m = a[i];
numb = i;
}
return numb;
}
int max_i(int* a, int n)
{
int m = a[0];
int numb = 0;
for(int i = 1; i < n; ++i)
if(m < a[i])
{
m = a[i];
numb = i;
}
return numb;
}
int main()
{
int N;
std::cin >> N;
int X[N];
for(int i = 0; i < N; ++i)
std::cin >> X[i];
std::cout << "Average of whole array: " << average(X, 0, N - 1) << std::endl;
int first = min_i(X, N);
int last = max_i(X, N);
if(first > last)
{
int temp = first;
first = last;
last = temp;
}
if(last - first == 0 || last - first == 1)
std::cout << "Average of shorter array: " << average(X, 0, N - 1) << std::endl;
else
{
int delta = last - first;
for(int i = last; i < N; ++i)
X[i - delta + 1] = X[i];
std::cout << "Average of shorter array: " << average(X, 0, N - delta) << std::endl;
}
}