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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2016, 20:08   #1
Molester1337
Новичок
Джуниор
 
Регистрация: 30.10.2016
Сообщений: 3
Восклицание Массивы, Pascal

Прошу помочь разобраться со следующей программой. Мне нужно разработать программу для ввода последовательности из n <= 255 вещественных чисел. Пользователь должен вводить значения в формате:
номер_в_последовательности - значение.
Если значение с таким номером уже введено, то необходимо выдавать соответствующий запрос на подтверждение операции перезаписи и изменять старое значение (записывать "поверх" его новое значение), если такое подтверждение получено. Вывести множество введенных новых элементов (их номера) и множество измененных элементов.

Видел что-то подобное на C, но не совсем понимаю, как это переписать под Pascal.
Molester1337 вне форума Ответить с цитированием
Старый 30.10.2016, 20:23   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну коль не совсем понимаешь, значит что-то понимаешь. Покажи что понимаешь, кодом
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.10.2016, 20:49   #3
Molester1337
Новичок
Джуниор
 
Регистрация: 30.10.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну коль не совсем понимаешь, значит что-то понимаешь. Покажи что понимаешь, кодом
Код HTML:
var
  e, m: set of Byte;
  a: array [1..255] of Real;
  n: Integer;
begin
  WriteLn('Ввести пары номер-число, завершить - 0');
  repeat
    Read(n); if n=0 then Break;
    Read(a[n]);
    if n in e then Include(m,n) else Include(e,n);
  until False;
  Write('Введены:'); for n in e-m do Write(' ',n); 
  WriteLn;
  Write('Изменены:'); for n in m do Write(' ',n); 
  WriteLn;
end.
Вопрос в том, как правильно все же реализовать перезапись и мне кажется, что я вообще даже переменные неправильно задал и вся задача неправильна.
Molester1337 вне форума Ответить с цитированием
Старый 30.10.2016, 21:16   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В общем-то правильно, только введены наверно все из множества e, а не разница e-m. Только читать не напрямую в a[n]), а в другую переменную, проверять по номеру записано ли раньше, в случае если записано запрашивать подтверждение и только после этого в массив
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.10.2016, 21:18   #5
Molester1337
Новичок
Джуниор
 
Регистрация: 30.10.2016
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Только читать не напрямую в a[n], а в другую переменную, проверять по номеру записано ли раньше, в случае если записано запрашивать подтверждение и только после этого в массив
Ага, окей, спасибо. Можно для сверки вот эту часть кодом, пожалуйста?
Molester1337 вне форума Ответить с цитированием
Старый 30.10.2016, 21:34   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Примерно так
Код:
  Read(b);
  if n in e then begin
    write('вводился ранее. Переписать (д/н)?');
    readln(c);
    if c='д' then Include(m,n) else Continue;
  end
  else Include(e,n);
  a[n]:=b;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы (Pascal) kvinkelman Паскаль, Turbo Pascal, PascalABC.NET 3 26.03.2016 14:07
Pascal: Массивы, подпрограммы, текст на языке Pascal WarriorCow Помощь студентам 4 22.02.2012 15:28
Массивы в С++ из Pascal peace on you Общие вопросы C/C++ 7 31.10.2011 09:12
pascal, массивы nastya8984999 Помощь студентам 1 31.03.2009 20:12
Pascal/Массивы ромка) Паскаль, Turbo Pascal, PascalABC.NET 6 14.06.2008 18:29