На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 17
ссылка на сообщение  Отправлено: 19.02.12 10:55. Заголовок: C4 Сейф и драгоценные камни


Условие следующее:


 цитата:
Завод по огранке драгоценных камней приобрел сейф повышенной надежности. Для определения драгоценных камней, которые необходимо положить в сейф, сначала отбираются 10% самых дорогих камней.
Если у самого дешевого камня из вошедших в группу 10% самых дорогих оказывается ценовая категория такая же, как и у нескольких других, то эти камни тоже включаются в группу камней для размещения в сейфе повышенной надежности в том случае, если их ценовая категория не менее 25.
Написать программу, которая по результатам входных данных будет определять, какую минимальную цену должен иметь драгоценный камень, чтобы его поместили в сейф повышенной надежности.
На вход программе сначала подается общее количество N камней на складе. В каждой из следующих N строк находится информация по каждому камню отдельно в следующем формате:
<Название драгоценного камня> < Код> < Ценовая категория> ,

<Название драгоценного камня> - строка, состоящая не более чем из 20 символов,
<Код> - строка, состоящая не более чем из 20 символов,
<Ценовая категория> – целое число от 1 до 30.
<Название драгоценного камня>, <Код> и <Ценовая категория> разделены одним пробелом.
Пример входной строки:
Изумруд И5674 11
Программа должна выводить минимальную <Ценовую категорию> драгоценного камня, который необходимо положить в сейф повышенной надежности

.

Моё решение
 #include<iostream> 
#include<string.h>
using namespace std;
const int M=30;
int main()
{ int A[M]={0};//массив для подсчёта камней всех возможных категорий
char buff[21];//ввод ненужной информации о камне
int i,N;
int per,Cost,Count;//10% от N,ячейка для ввода цены очередного камня,набор в сейф
scanf("%d",&N);
for(i=0;i<N;i++)
{ scanf("%s%s%d",&buff,&buff,&Cost);
A[Cost-1]++;
}
per=N*0.1;
Count=0;
for(i=M-1;Count!=per;i--)//идём с конца, пока не наберём нужное число камней
Count+=A[ i ];
printf("min cost=%d\n",i+1);
return 0;
}
Является ли оно верным?
Для чего нужно условие из второго абзаца(выделен красным)?
Как решать задачу, если брать в расчёт тот факт, что камней может быть меньше 10(т.е. 10%-это меньше, чем 1 камень)?
Спасибо.


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 5 [только новые]


Администратор




Сообщение: 112
ссылка на сообщение  Отправлено: 19.02.12 21:13. Заголовок: PavelG пишет: Являет..


PavelG пишет:
 цитата:
Является ли оно верным?

Не совсем. По крайней мере, там есть неточности. Чего стоит один оператор Count+=A. Конечно, понятно, что имелось в виду, но на ЕГЭ за это снизят оценку.
 цитата:
Для чего нужно условие из второго абзаца(выделен красным)?

Вы учли это условие - если, допустим, нужно отобрать 10 камней из 100, и есть 8 камней категории 30 и 5 камней категории 29, то должны быть отобраны все эти 13 камней.
 цитата:
Как решать задачу, если брать в расчёт тот факт, что камней может быть меньше 10(т.е. 10%-это меньше, чем 1 камень)?

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

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 18
ссылка на сообщение  Отправлено: 19.02.12 23:03. Заголовок: По крайней мере, там..



 цитата:
По крайней мере, там есть неточности. Чего стоит один оператор Count+=A.


Вы имели ввиду, что нужно Count+=A| i |(скобки вместе с индексом почему-то не хотят показываться )?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 113
ссылка на сообщение  Отправлено: 20.02.12 05:28. Заголовок: PavelG пишет: Вы име..


PavelG пишет:
 цитата:
Вы имели ввиду, что нужно Count+=A| i |(скобки вместе с индексом почему-то не хотят показываться )?

Да, конечно. Скобки с индексом не хотят показываться, потому запись [ i ] означает начало блока, выделенного курсивом (так и получилось!). Нужно поставить пробелы слева и справа от "i" или сменить переменную - вместо "i" взять, скажем, "k".

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 20
ссылка на сообщение  Отправлено: 26.02.12 22:35. Заголовок: Со своим вариантом р..


Со своим вариантом решения я разобрался, но возникла другая проблема.
Условие:
 цитата:
Если у самого дешевого камня из вошедших в группу 10% самых дорогих оказывается ценовая категория такая же, как и у нескольких других, то эти камни тоже включаются в группу камней для размещения в сейфе повышенной надежности в том случае, если их ценовая категория не менее 25.


толкуется авторами книги, откуда взята задача, по-другому(если часть камней входящих в 10% категорией ниже 25, и в то же время есть ещё камни такой же ценовой категории, то ни те, ни другие не откладываются в сейф(данный вывод сделан из готового решения)). Возможно ли такая, на мой взгляд, двусмысленность в задаче на реальном экзамене? Если да, то как действовать в подобных ситуациях?
Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 131
ссылка на сообщение  Отправлено: 26.02.12 23:02. Заголовок: PavelG пишет: Возмож..


PavelG пишет:
 цитата:
Возможно ли такая, на мой взгляд, двусмысленность в задаче на реальном экзамене? Если да, то как действовать в подобных ситуациях?

Не знаю. Очень надеюсь, что нет, все-таки все "боевые" варианты проверяются грамотными людьми. В случае чего - действовать по обстановке. :-)

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 177
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет