Страница 7 из 8

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

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

Да я давно не писал на форуме и не задавал вопросы.Просто мало времени остаётся на учёбу.Но это не значит что я бросил изучать Паскаль.

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

Добавлено: 19.12.2011 16:11:50
teapot
Привет! У меня тоже мало времени. А еще обнаружилось и незнание математики. Ведь программирование для меня это просто хобби.

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

Добавлено: 27.12.2011 00:18:35
Андрей131289
Подскажите пожалуйста, как написать массив величины, вводимой с клавиатуры?

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

Добавлено: 27.12.2011 02:10:06
Little_Roo
Андрей131289 писал(а):как написать массив величины, вводимой с клавиатуры?

Ввести (ой, просмотрел написать)массив символов с клавиатуры можно в Блокноте, или в Ворде... :D
Читаем доки, они рулез :shock: .....или правильно формулируем проблемку.

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

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

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

var
a:array of integer;
n:integer;
begin
readln(n);
setlength(a,n);
.....

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

Добавлено: 29.12.2011 00:42:49
Андрей131289
Для начала спасибо за прошлый совет...
Скажите еще, как найти все числа которые входят в массив по одному разу?

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

Добавлено: 29.12.2011 12:01:07
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;

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

Добавлено: 29.12.2011 14:26:35
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.

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

Добавлено: 10.01.2012 15:55:02
Paster Fob
Андрей131289 писал(а):Подскажите пожалуйста, как написать массив величины, вводимой с клавиатуры?

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

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

Добавлено: 17.01.2012 17:31:51
Leontev
Возник такой вопрос. В Turbo Pascal можно набирать символы с помощью Alt+<код символа>, что удобно при работе с псевдографикой. Есть ли что-то подобное в Geany?

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

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

·▒▓░■¤ - набрал этим методом

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

Добавлено: 17.01.2012 18:39:51
Leontev
ОС Simply Linux 6.

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

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

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

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

Нажать Insert?

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

Добавлено: 04.02.2012 14:06:00
Paster Fob
о спасибо за подсказку,а для чего это надо?