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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2013, 20:52   #1
Vera48
 
Регистрация: 03.11.2012
Сообщений: 9
Сообщение Как вывести эти 20% процентов

Программный код есть,но не могу придумать условие для вывода баллов.Буду очен ьблагодарна,если поможете.Условие задачи таково:

После единых выпускных экзаменов по информатике в район пришла информация о том, какой ученик какой школы сколько баллов набрал. По положению об экзамене каждый район сам определяет, за какой балл нужно поставить какую оценку.
Районный методист решила, что оценку «отлично» должны получить 20% участников (целое число, с отбрасыванием дробной части). Для этого она должна определить, какой балл должен был набрать ученик, чтобы получить «отлично». Если невозможно определить такой балл, чтобы «отлично» получили ровно 20% участников, «отлично» должно получить меньше участников, чем 20%. Если таких участников не окажется (наибольший балл набрали больше 20% участников) — эти и только эти ученики должны получить «отлично».
Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран наименьший балл, который набрали участники, получившие «отлично». Известно, что информатику сдавало больше 5-ти учеников. Также известно, что есть такое количество баллов, которое не получил ни один участник.
На вход программе сначала подаётся число учеников, сдававших экзамен. В каждой из следующих N строк находится информация об учениках в формате:
<Фамилия> <Имя> <Номер школы> <Количество баллов>
где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов, <Имя> — строка, состоящая не более, чем из 20 символов без пробелов, <Номер школы> — целое число в диапазоне от 1 до 99, <Количество баллов> — целое число в диапазоне от 1 до 100. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть, всего по три пробела в каждой строке).
Пример входной строки:
Иванов Иван 50 87
Пример выходных данных:
78


Код:
Memo2->Clear();
Memo3->Clear();
int  i,kol,b[100], x,                             //В ячейку n кладём количество участников
     n=Memo1->Lines->Strings[0].ToInt();
AnsiString s;
for(i=1; i<=n; i++)
   {s=Memo1->Lines->Strings[i];                   //Читаем очередную строку данных
    //Выделяем из строки баллы в b[n]
    kol=s.Length();                               //Считаем количество символов в ней
    if(s.SubString(kol-1,1)==" ")                 //Если предпоследний символ строки   равен пробелу
        b[i-1]=s.SubString(kol,1).ToInt();        //то читаем 1 цифру
    else                                          //иначе
        if(s.SubString(kol-2,1)==" ")             //Если предпоследний символ строки   равен пробелу
            b[i-1]=s.SubString(kol-1,2).ToInt();  // то читаем 2 цифры
        else                                      // иначе
            b[i-1]=s.SubString(kol-2,3).ToInt();  //читаем 3 цифры
    }
 //Упорядочиваем баллы по убыванию
 for(i=0; i<=n-2; i++)                           
   for(x=i+1; x<=n-1; x++)
     if(b[i]<b[x])
       {b[i]+=b[x];
        b[x]=b[i]-b[x];
        b[i]-=b[x];
       }
for(i=0; i<n; i++)
   Memo2->Lines->Add(b[i]);

Последний раз редактировалось Stilet; 23.05.2013 в 21:31.
Vera48 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти 4й по порядку 0Dh, и вывести все эти 4 0Dh на экран nati_94 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.03.2013 11:10
Дан целочисленный массив размера N, содержащий ровно два одинаковых элемента. Найти номера одинаковых элементов и вывести эти номе Alexar Makken Паскаль, Turbo Pascal, PascalABC.NET 1 23.12.2011 22:07
не как не могу понять эти схемы алгоритмов masterlomaster Помощь студентам 8 02.09.2010 16:13
как записать в паскале эти 2 формулы? 33artem Помощь студентам 19 21.06.2009 22:06
Пожалуйста, подскажите можно ли и как сделать в Excel расчёт процентов? magi Microsoft Office Excel 8 28.09.2007 22:48