Объясните новичку.

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Аватара пользователя
Paster Fob
постоялец
Сообщения: 188
Зарегистрирован: 22.02.2011 20:53:36
Откуда: Новосибирск.

Сообщение Paster Fob »

teapot писал(а):Paster Fob, мне тоже далеко за 20 и я в качестве хобби изучаю (вернее, пытаюсь вспомнить школьный курс) паскаль по книге уважаемого Олега. Хоть Вас давно не было на форуме, позвольте присоединиться.

Да я давно не писал на форуме и не задавал вопросы.Просто мало времени остаётся на учёбу.Но это не значит что я бросил изучать Паскаль.
Аватара пользователя
teapot
незнакомец
Сообщения: 7
Зарегистрирован: 13.11.2011 15:20:23

Сообщение teapot »

Привет! У меня тоже мало времени. А еще обнаружилось и незнание математики. Ведь программирование для меня это просто хобби.
Андрей131289
незнакомец
Сообщения: 6
Зарегистрирован: 27.11.2011 13:02:56

Сообщение Андрей131289 »

Подскажите пожалуйста, как написать массив величины, вводимой с клавиатуры?
Аватара пользователя
Little_Roo
энтузиаст
Сообщения: 639
Зарегистрирован: 27.02.2009 18:56:36
Откуда: Санкт-Петербург

Сообщение Little_Roo »

Андрей131289 писал(а):как написать массив величины, вводимой с клавиатуры?

Ввести (ой, просмотрел написать)массив символов с клавиатуры можно в Блокноте, или в Ворде... :D
Читаем доки, они рулез :shock: .....или правильно формулируем проблемку.
tema
постоялец
Сообщения: 376
Зарегистрирован: 24.03.2011 19:19:27

Сообщение tema »

Андрей131289 писал(а):Подскажите пожалуйста, как написать массив величины, вводимой с клавиатуры?

Код: Выделить всё

var
a:array of integer;
n:integer;
begin
readln(n);
setlength(a,n);
.....
Андрей131289
незнакомец
Сообщения: 6
Зарегистрирован: 27.11.2011 13:02:56

Сообщение Андрей131289 »

Для начала спасибо за прошлый совет...
Скажите еще, как найти все числа которые входят в массив по одному разу?
tema
постоялец
Сообщения: 376
Зарегистрирован: 24.03.2011 19:19:27

Сообщение tema »

Тебя что в гугле забанили?
В лоб:

Код: Выделить всё

for i:=1 to n do
begin
k:=0;
for j:=i to n do
  if a[i]=a[j] then inc(k);
if k=1 then writeln(a[i]);
end;
Oleg_D
постоялец
Сообщения: 391
Зарегистрирован: 09.05.2011 11:28:36

Сообщение Oleg_D »

Похожая задача рассматривалась в этом топике: http://freepascal.ru/forum/viewtopic.php?f=23&t=6931

Решение от tema имеет квадратичную сложность, но зато не требует дополнительной памяти.
Вот другое решение (для положительных чисел), сложность линейная, но используется массив.

Код: Выделить всё

const CSize = ...; // размер массива

var
Numbers: array [0...CSize] of integer; // обрабатываемый массив
Counts: array [0...MaxInt] of integer; // массив счетчиков
i : integer;

begin
 FillChar(Counts, SizeOf(Counts), 0); // очистка счетчиков
 // накопление счетчиков (число в массиве - это индекс счетчика)
 for i:=0 to CSize-1 do Inc( Counts[ Numbers[i] ] );
 // Пробегаем по массиву Counts и выбраем те, что содержат единицу
 for i:=0 to MaxInt do if Counts[i]=1 then Writeln(i);
end.
Аватара пользователя
Paster Fob
постоялец
Сообщения: 188
Зарегистрирован: 22.02.2011 20:53:36
Откуда: Новосибирск.

Сообщение Paster Fob »

Андрей131289 писал(а):Подскажите пожалуйста, как написать массив величины, вводимой с клавиатуры?

Вот и у меня такая же беда,математика тесно связана с программированием,вот только ни фига не помню итз курса школы,хорошо что у меня мама математик,мне объясняет что к чему.
Leontev
новенький
Сообщения: 30
Зарегистрирован: 16.01.2012 20:56:32
Откуда: Санкт-Петербург

Сообщение Leontev »

Возник такой вопрос. В Turbo Pascal можно набирать символы с помощью Alt+<код символа>, что удобно при работе с псевдографикой. Есть ли что-то подобное в Geany?
Аватара пользователя
VirtUX
энтузиаст
Сообщения: 880
Зарегистрирован: 05.02.2008 09:52:19
Откуда: Крым, Алушта

Сообщение VirtUX »

Если ОС - Windows, то в любом окне должна работать эта комбинация. Хотя может Geany спицифическая....

·▒▓░■¤ - набрал этим методом
Leontev
новенький
Сообщения: 30
Зарегистрирован: 16.01.2012 20:56:32
Откуда: Санкт-Петербург

Сообщение Leontev »

ОС Simply Linux 6.
Аватара пользователя
Paster Fob
постоялец
Сообщения: 188
Зарегистрирован: 22.02.2011 20:53:36
Откуда: Новосибирск.

Сообщение Paster Fob »

Доброго времени суток.Вот такой вопрос у меня.В компиляторе FPC иногда курсор вместо чёрточки становится маленьким прямоугольником вытянутым вверх,как это убрать?
Аватара пользователя
Nik
энтузиаст
Сообщения: 573
Зарегистрирован: 03.02.2006 23:08:09
Откуда: Киров
Контактная информация:

Сообщение Nik »

Paster Fob писал(а):.В компиляторе FPC иногда курсор вместо чёрточки становится маленьким прямоугольником вытянутым вверх,как это убрать?

Нажать Insert?
Аватара пользователя
Paster Fob
постоялец
Сообщения: 188
Зарегистрирован: 22.02.2011 20:53:36
Откуда: Новосибирск.

Сообщение Paster Fob »

о спасибо за подсказку,а для чего это надо?
Ответить