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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2008, 21:16   #1
skl1f
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 10
По умолчанию Помогите решить интересную математическую задачку на Паскале.

Здравствуйте, уважаемые эксперты. Помогите, пожалуйста, решить вот такую задачу:

Игроки A и B выставляют на кон по банкноте одинакового достоинства, на каждой из которых имеется семизначный номер. Игроки сравнивают соответствующие (стоящие в одинаковых позициях) цифры номеров. Если i-я цифра на банкноте игрока A больше i-й цифры на банкноте B, то A получает зачетный балл, и наоборот. Побеждает (и забирает банкноту противника) тот, кто наберет больше зачетных баллов. В случае равенства баллов игроки остаются при своих. Например, если у A номер банкноты 4987200, а у B - 4007311, то со счетом 3:2 победит B. Экспериментально найдите наименьшую сумму цифр для номера банкноты, у которой вероятность выигрыша больше 0,5.

Сам не могу осилить.

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

С уважением, Кирилл.

P.S. Вот ссылка на математическое решение этой задачи, если это может помочь.
skl1f вне форума Ответить с цитированием
Старый 03.12.2008, 15:19   #2
necky
Пользователь
 
Аватар для necky
 
Регистрация: 11.08.2007
Сообщений: 69
По умолчанию

Код:
 #include <conio.h>
 #include <stdio.h>
 #include <string.h>
 #include <iostream.h>
 #include <STDLIB.H>
struct banknota{
int bal;
int ser[7];
}          ;
void main ()
{
clrscr();
banknota a,b;
int i=0;
randomize();
for(i=0;i<7;i++){
a.ser[i]=random(9) ;
b.ser[i]=random(9);
}
a.bal = b.bal=0;


for(i=0;i<7;i++)
{
if (a.ser[i]>b.ser[i])
 a.bal++;
else if (a.ser[i]<b.ser[i])
 b.bal++;
}

for(i=0;i<7;i++)
cout << a.ser[i];
cout <<endl;
for(i=0;i<7;i++)
cout << b.ser[i];
cout << endl;
cout << a.bal <<endl << b.bal;
getch();

}
А вот вероятность найти не пытался ... не совсем понятно условие ....
Советовать можно лишь в деле, в котором сам собираешься участвовать.
necky вне форума Ответить с цитированием
Старый 03.12.2008, 18:09   #3
skl1f
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 10
По умолчанию

Огромное спасибо! Видимо, мне еще учиться и учиться, если для меня это даже на паскаль не похоже... ))) Это вообще паскаль? ))
skl1f вне форума Ответить с цитированием
Старый 03.12.2008, 18:13   #4
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

нет ... Си =)))( Вот вам и задание перевести на Паскаль =) )
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Старый 03.12.2008, 18:54   #5
skl1f
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 10
По умолчанию

Ну, в принципе, если погуглить предназначение незнакомых функций и процедур, то это реально )))))). Но, полагаю, что геморра будет выше крыши )
skl1f вне форума Ответить с цитированием
Старый 03.12.2008, 19:23   #6
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

Оо Вы пессимист !!! =)))))))))))))))))))))))))))))))))) ))))))))))))))

count - вывод на экран

for - цикл ... For(точка отсчета;условие отсчета;Шаг отсчета)

if думаю понятно

{=begin , }=end; эквивалентны =)

getch()=readln;

i++ = i:=i+1

Что еще ? =))
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Старый 03.12.2008, 21:40   #7
skl1f
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 10
По умолчанию

Не ожидал, что все окажется так просто ))) Премного благодарен, ув. Sm1Le. Считаю сегодняшний день днем начала моего изучения си )))))))

Шутки шутками, но интересуют еще, если не сложно:

1. Инклуды
2. int bal; int ser[7]. Я так понимаю, bal - интеджер переменная, а ser - массив из 7 чисел типа интеджер, так? Т.е. массив в си объявляется просто указанием в квадратных скобках количества элементов массива?
3. Запись banknota a,b и последующее использование этих букв a.ser[i], b.ser[i] а потом и a.bal, b.bal Просто разделение банкнот?
4. функция endl

Еще раз большое спасибо! )

Последний раз редактировалось skl1f; 03.12.2008 в 21:47.
skl1f вне форума Ответить с цитированием
Старый 03.12.2008, 22:26   #8
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

Инклуды это подключение библиотек в Паскале Uses
типы данных Понял правильно
а банкнота это пользовательский структура (тип):
struct banknota{
int bal;
int ser[7];
}
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Старый 03.12.2008, 23:28   #9
skl1f
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 10
По умолчанию

Ага, становится яснее, но все же, что означают записи a.ser, b.bal и т.п.? И насчет инклудов: в паскале надо что-нибудь вызывать таким образом? Честно сказать, uses в нем я "юзаю" только для очищения экрана (uses crt). Мне нужно будет вызывать какие-то библиотеки? )

Прошу прощения за нупские вопросы, просто никогда не имел дело с си, да и с паскалем общаюсь сравнительно недавно ) Спасибо большое за помощь )
skl1f вне форума Ответить с цитированием
Старый 04.12.2008, 01:10   #10
Sm1Le
Форумчанин
 
Аватар для Sm1Le
 
Регистрация: 31.10.2008
Сообщений: 500
По умолчанию

Посмотришь если надо будет то подконектишь Юсес, а структура, почитай ...
Например тебе надо вводить данные про студента куда то ....
так у тебя будет две не связаные переменные. Имя Оценка. А теперь + структуру ---- в которой две переменные уже описаны , а допуск происходить Студент.Имя , Студент.Оценка ( Студент имя структуры) ! Пример не самый яркий но доходчивый!=)
Skype : UASm1Le.
Sm1Le вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать:математическую постановку, разработать блок-схему и написать программу в паскале Сергей Панов Помощь студентам 2 20.11.2008 22:40
Помогите пожалуйста решить одну задачку в Паскале...Заранее спасибо VisTBacK Помощь студентам 2 29.09.2008 14:57
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44
помогите решить задачку gorez Паскаль, Turbo Pascal, PascalABC.NET 10 08.04.2008 14:49
Помогите решить задачку на строки в Паскале. TakeR Помощь студентам 8 26.12.2007 00:09