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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2012, 09:58   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а ещё - те, кто учится на 4 и 5 - это означает, что у них НЕТ двоек и троек!

а динамические массивы можно смоделировать таким "хакерским" приёмом:
Код:
program dd;
uses crt;
Const MaxStud = 10000;
Type
    TPoint = record
        one, two, three: byte;
    end;
    TR = array[1..MaxStud] of TPoint;
var
    a: ^TR;
    count, i: integer;
    pr: byte;
begin
    clrscr;
    repeat
      Write ('Введите количество учащихся: ');
      Readln (count);
      if (count<1) or (count>MaxStud) then WriteLn('Неверное число! Число должно быть от 1 до ',MaxStud)
    until (count>=1) and (count<=MaxStud);
    GetMem(a, sizeof(TPoint)*count);
    pr := 0;
    randomize;
    WriteLn('+-------------+---------------+---------------+---------------+');
    WriteLn('| N учащегося | Первая оценка | Вторая оценка | Третья оценка |');
    WriteLn('+-------------+---------------+---------------+---------------+');
    for i := 1 to count do
    begin
        Write ('| ',i:11);
        With a^[i] do
        begin
            one := random(4) + 2;
            two := random(4) + 2;
            three := random(4) + 2;
            Write(' |  ', one:12,' | ',two:13,' | ',three:13, ' | ');
            if (one in [4,5]) and (two in [4,5]) and (three in [4,5]) then
              begin Inc(pr);
                   Write('*'); {отметим в таблице звёздочкой тех, кто учится только на 4 и 5}
              end;
            WriteLn;
        end;
    end;
    WriteLn('+-------------+---------------+---------------+---------------+');
    WriteLn;
    
    Writeln ('Процент учащихся на 4, 5 = ', pr/count*100:4:2);
    {освободим занимаемую память}
    FreeMem(a);
    
    ReadKey;
end.

p.s. cтрого говоря- при таком подходе - когда мы заполняем массив и ОДНОВРЕМЕННО обрабатываем записи,
массив ВООБЩЕ НЕ НУЖЕН! И можно смело обойтись вообще без него. Без всех этих хитрых хакерских приёмов...

Последний раз редактировалось Serge_Bliznykov; 12.01.2012 в 10:00.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.01.2012, 22:10   #12
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Да Вы, батенька, ОПТИМИСТ!

дело в том, что если это программа под TurboPascal/Pascal ABC - то в нём нет и никогда не было динамических массивов!



p.s. да, и на будущее - нумерация динамических массивов (ну там, где они есть) всегда начинается от нуля!
А разве плохо быть оптимистом?
То что в Турбо паскале нет дин. массивов я знаю!
Но кто это сказал, что их нет в ABC.Net? интересно было бы узнать!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Язык программирования D russian-stalker Свободное общение 2 07.02.2011 20:51
Язык программирования С++ Jasper92 Свободное общение 2 09.11.2009 13:51
Язык программирования C Jasper92 Свободное общение 17 06.09.2009 11:13
язык программирования Си Ruslan0990kz Общие вопросы C/C++ 1 03.06.2009 22:01
Язык программирования Turbo Pascal AnKS Помощь студентам 2 28.10.2007 07:22