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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2009, 17:04   #1
edmynt
Пользователь
 
Аватар для edmynt
 
Регистрация: 03.06.2009
Сообщений: 83
По умолчанию Записи и нахождения максимума

Задача.
Организовать хранение инфы :Фамилия студента, рост. При добавлении новой записи, если рост студента больше всех остальных, то запись добавляеться в начало массива записей,иначе в конец. Размер массива записей -N

Код:
program laba7;
uses crt;
const n=10;    {Константа}
label vvod, poisk, exit1, start1;
type
    stud=record      {запись типа}
    f:string;           {Фамилия студента}
    r:integer;         {Рост}
end;
var
   b:array [1..n] of stud; {Массив студентов равный n}
   p:array [1..n] of stud;
   a:stud;
   v:integer;     {Переменная выбора}
   i,j, max, s:integer;
   max_f: string;
   {*******************ОСНОВНАЯ ПРОГРАММА*****************}
begin
     start1:
   clrscr;
          writeln('Введите 1 для записи студентов');
          writeln('Введите 2 для Просмотра записей');
          writeln('Введите 3 для выхода');
          readln(v);
                 case v of
                      1: begin
                              goto vvod;
                        end;
                      2: begin
                              goto poisk;
                         end;
                      3: begin
                              goto exit1;
                         end;
                 end;
          vvod:
               writeln('Введите колличество записей');
               readln(j);
               writeln ('Начинайте вводить Записи');
                       for i:=1 to j do
                           begin
                                writeln('Фамилия');
                                readln(b[i].f);
                                writeln('Рост');
                                readln(b[i].r);

                           end;
               writeln ('Введено успешно ',j,' человек');
               readln;
               max:=b[1].r;
               max_f:=b[1].f;
               s:=1;
                    while s<=j do
                    begin
                          for i:=1 to j do
                              begin
                                   if max<b[i].r then
                                      begin
                                            max:=b[i].r;
                                            max_f:=b[i].f;
                                      end;
Скажите плизз что тут не так? Значение в 0 выводит...
edmynt вне форума Ответить с цитированием
Старый 05.06.2009, 17:11   #2
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Первое - goto признак плохого тона. 2 - while s<=j do
Это условие сразу выполнимо! 1<=j... А вообще в коде чего то не хватает Вы s изменять вообще не собираетесь? Пусть вечно цикл гоняет?
danekne вне форума Ответить с цитированием
Старый 05.06.2009, 17:59   #3
edmynt
Пользователь
 
Аватар для edmynt
 
Регистрация: 03.06.2009
Сообщений: 83
По умолчанию

Цитата:
Сообщение от danekne Посмотреть сообщение
Первое - goto признак плохого тона. 2 - while s<=j do
Это условие сразу выполнимо! 1<=j... А вообще в коде чего то не хватает Вы s изменять вообще не собираетесь? Пусть вечно цикл гоняет?
S изменено inc(s)
edmynt вне форума Ответить с цитированием
Старый 08.06.2009, 10:38   #4
danekne
Форумчанин
 
Регистрация: 12.02.2007
Сообщений: 360
По умолчанию

Цитата:
Сообщение от edmynt Посмотреть сообщение
S изменено inc(s)
Код:
 while s<=j do
                    begin
                          for i:=1 to j do
                              begin
                                   if max<b[i].r then
                                      begin
                                            max:=b[i].r;
                                            max_f:=b[i].f;
                                      end;
где?
danekne вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 максимума в массиве Arcueid1691 Общие вопросы C/C++ 4 01.06.2009 02:30
три первых максимума Exo Microsoft Office Excel 2 27.05.2009 15:08
КАК мне поменять 2 минимума и 2 максимума Wi1D Помощь студентам 1 09.12.2008 23:58
Ошибка в нахождении максимума yulia SQL, базы данных 7 26.07.2008 23:54
3 максимума из N чисел Artem1987 Помощь студентам 2 23.12.2007 09:08