Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на языке Pascal


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Асмик Александровна
Статус: Академик
Рейтинг: 8321
∙ повысить рейтинг »
Орловский Дмитрий
Статус: Советник
Рейтинг: 5684
∙ повысить рейтинг »
lamed
Статус: Академик
Рейтинг: 5525
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Pascal (Паскаль)

Номер выпуска:1199
Дата выхода:28.06.2011, 23:00
Администратор рассылки:Boriss (Академик)
Подписчиков / экспертов:166 / 174
Вопросов / ответов:1 / 1

Вопрос № 183682: Здравствуйте! Уважаемые эксперты! Помогите мне решить задачи, как в этой теме ВОТ. Задачи: 1) Тема «Сортировка массивов». В любом «длинном» числе > 20 знаков расположить цифр...



Вопрос № 183682:

Здравствуйте! Уважаемые эксперты! Помогите мне решить задачи, как в этой теме ВОТ.
Задачи:
1) Тема «Сортировка массивов».
В любом «длинном» числе > 20 знаков расположить цифры числа по возрастанию.

2) Тема «Работа со строками».
Результаты вступительных экзаменов представлены в виде списка из N строк, в каждой строке которой записаны фамилии абитуриента и отметки по каждому из M предметов. Определить количество абитуриентов, сдавших вступительные экзамены на отлично.

Отправлен: 20.06.2011, 22:44
Вопрос задал: Посетитель - 372181 (Посетитель)
Всего ответов: 1
Страница вопроса »


Отвечает Boriss (Академик) :
Здравствуйте, Посетитель - 372181!
Вы не отвечаете, перевожу в ответ:
Вот решение второй задачи. Я считаю, не отслеживаю, что у каждого проставлено одинаковое число оценок, что все оценки отделены друг от друга любым символом, лишь бы не цифра от 0 до 5.
Проверяю, написана ли фамилия, но тогда просто пропускаю
Да! Вы не написали, а зря, в каком Паскаде нужно сделать. Я сделал в Borland.
В прикрепленом архиве код и исходный файл
Код :
   uses CRT;
    CONST
    TheFileName = '183682.txt';
    nums: Set of Char = ['0' .. '5'];
    chars: Set of Char = ['A'..'z', 'А' ..'п', 'р' .. 'я'];
    VAR
    f: Text;
    S, name: String;
    i, count, numCount: Integer;
    A_student: Boolean; {отличник}
    BEGIN
    Assign(f, TheFileName);
    {$I-} Reset(f); {$I+}
    if IOResult <> 0 then begin
    WriteLn('Не могу открыть файл ', TheFileName,
    '. Работа программы завершается');
    WriteLn('Нажмите любую клавишу');
    ReadKey; Halt(1)
    end;
    Count := 0;
    While NOT EOF(f) do begin
    ReadLn(f, S);
    if S <> '' then begin
    name := '';
    i:=1;
    while (NOT (S[i] in chars)) and (i <= length(S)) do inc(i);
    while (S[i] in chars) and (i <= length(S)) do begin
    name := name + S[i];
    inc(i);
    end;
    if name = '' then Continue; {Фамилии нет}
    A_student := TRUE;
    Write(name,' ');
    while (i <= length(S)) do begin
    while (NOT (S[i] in nums)) and (i <= length(S)) do inc(i);
    A_student := A_student and (S[i] = '5');
    inc(i);
    if NOT A_student then Continue;
    end;
    if A_student then begin
    WriteLn('Отличник');
    inc(count)
    end
    else WriteLn('Так себе');
    end;
    end;
    if Count = 0 then
    Writeln('На отлично не сдал ни один абитуриент')
    else
    WriteLn('На отлично сдало абитуриентов: ', count);
    WriteLn('Нажмите любую клавишу');
    ReadKey
    END.
Прикрепленный файл: загрузить »

-----
Вывод - то место в тексте, где вы устали думать

Ответ отправил: Boriss (Академик)
Ответ отправлен: 26.06.2011, 11:30
Номер ответа: 267842
Россия, Саранск
Организация: Мордовский госуниверситет, Саранск, Факультет Электронной Техники
Адрес сайта: Программирование на Паскале
ICQ # 320096696

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 267842 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:


  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.



    В избранное