Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 364
Записей в блоге: 1
1

Преобразование кода

08.09.2012, 11:14. Просмотров 1103. Ответов 11
Метки нет (Все метки)

Есть код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
const
 x1=1000;
 y1=1000;
var
 j, N, p, x :integer;
 A:array [0..x1,0..y1] of integer;
 i,i1,i2,count,summ:integer;
 
 
 F1, F2:text;
Begin
 
 Assign(F1, 'input.txt');
 Reset(F1);
 Assign(F2,'output.txt');
 Rewrite(F2);
 
 A[0,0]:=0;
 
 Readln(F1,N);
 for i:=1 to N do
  Begin
   Readln(F1,p,x);
   count:=A[p,0];
   if x < 0 then count:= count - 1;
   A[i,0]:=count;
   for i1:=1 to count do
    Begin
      A[i,i1]:=A[p,i1];
    end;
 
    if x>0 then
     begin
      inc (count);
      A[i,0]:=count;
      A[i,count]:=x;
     end;
    summ:=0;
   for i2:=1 to count do
    summ:=summ+A[i,i2];
    Writeln(F2,summ);
 
  end;
 close(F1);
 close(F2);
End.
Как его переделать так, чтобы он работал при 0<=x1,y2 <=10^9; 1 ≤ N ≤ 4*10^5, −1 ≤ x ≤ 10^9, 1 ≤ i ≤ N, 0 ≤ p ≤ j − 1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.09.2012, 11:14
Ответы с готовыми решениями:

Преобразование ASC-кода в символ
Программа преобразования ASC-кода в символ

Функция преобразование двоичного кода в код Грея. Перевод из C++
Привет всем, Я хотел бы знать, если это возможно, конечно, перевод эта функция в Pascal...

Символическое дифференцирование-ввод формулы в связный список, преобразование в ПОЛИЗ, обратное преобразование
Прошу помогите мне. Символическое дифференцирование-ввод формулы в связный список, преобразование в...

Преобразование кода
Добрый день. Не могли бы вы помочь мне разобраться с таким заданием, заранее Спасибо! По...

11
537 / 397 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
08.09.2012, 11:38 2
Использовать переменные типа LongInt и внимательно читать Help о типах и диапазонах их значений
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 364
Записей в блоге: 1
08.09.2012, 11:46  [ТС] 3
простая смена inegera на longint не помогает. Ошибки выдаются, когда x1,y1 ==<1000 000 000
0
Модератор
60887 / 45700 / 31530
Регистрация: 18.05.2008
Сообщений: 109,973
08.09.2012, 11:51 4
Вообще-то нужно писать какой Паскаль или создавать тему в соответствующем подразделе, а то напишут как в лужу....

Добавлено через 2 минуты
Да и задание свое секретное не грех бы написать, а то говорят есть форумы экстрасенсов..
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 364
Записей в блоге: 1
08.09.2012, 11:51  [ТС] 5
freepascal
0
Модератор
60887 / 45700 / 31530
Регистрация: 18.05.2008
Сообщений: 109,973
08.09.2012, 11:53 6
Цитата Сообщение от Bohes Посмотреть сообщение
Ошибки выдаются,
Какие ошибки, что в них сообщается? Может у Вас в коде вообще чушь написана.
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 364
Записей в блоге: 1
08.09.2012, 11:57  [ТС] 7
На улице зима. N детей захотело поиграть в снеговиков. Каждый ребенок имеет свой номер 1 ≤ i ≤ N. Каждый ребенок выбирает одного из уже существующих снеговиков, строит такого же, и либо добавляет с своему какой-то снежный ком сверху, либо убирает один ком сверху, либо оставляет как есть. Каждый снеговик имеет свою высоту - это сумма радиусов всех комов, из которых он составлен. Вам нужно для каждого снеговика узнать его высоту.
Формат входного файла
В первой строке записано целое число N. В следующих N строках задано по 2 числа - p, x. p - номер уже существующего снеговика, которого выбирает ребенок, и x - как ребенок его изменяет. Будем считать, что снеговик с номером 0 - пустой, с нулевой высотой. Если x == −1 - он убирает верхний ком. x == 0 - он не изменяет снеговика. x > 0 - он кладет сверху на снеговика снежный ком радиуса x. Все запросы корректны (снеговик с номером p всегда будет существовать. Если ребенок попробует убрать верхний ком, но его нет, высота снеговика останется нулевой).
Формат выходного файла
Вывести N чисел - высоту каждого снеговика.
Ограничения
1 ≤ N ≤ 4*10^5, −1 ≤ x ≤ 10^9, 0 ≤ p ≤ i − 1

Добавлено через 1 минуту
При массиве 1000х1000 код выполняется...
Пример входных данных:
6
0 10
1 2
2 6
3 -1
2 -1
4 -1
Цитата Сообщение от Puporev Посмотреть сообщение
Какие ошибки, что в них сообщается? Может у Вас в коде вообще чушь написана.

Добавлено через 2 минуты
Programm recived signal SIGSEGV sigmentation fault
0
537 / 397 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
08.09.2012, 13:00 8
Во Free Pascal есть тип DWord<=4 294 967 295 < 10^9
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 364
Записей в блоге: 1
08.09.2012, 13:06  [ТС] 9
Переформулировать задачу можно вот так:

Как создать массив 10^9 x 10^9 (если такое возможно)?
0
Модератор
60887 / 45700 / 31530
Регистрация: 18.05.2008
Сообщений: 109,973
08.09.2012, 13:11 10
Цитата Сообщение от Bohes Посмотреть сообщение
Как создать массив 10^9 x 10^9 (если такое возможно)?
Думаю Остапа понесло, при чем не в ту сторону...
0
12 / 8 / 6
Регистрация: 10.07.2011
Сообщений: 364
Записей в блоге: 1
08.09.2012, 13:21  [ТС] 11
Цитата Сообщение от Puporev Посмотреть сообщение
Думаю Остапа понесло, при чем не в ту сторону...
Вы правы...прийдется искать другой путь
0
537 / 397 / 99
Регистрация: 18.08.2012
Сообщений: 1,024
08.09.2012, 16:21 12
Цитата Сообщение от Bohes Посмотреть сообщение
Переформулировать задачу можно вот так:

Как создать массив 10^9 x 10^9 (если такое возможно)?
Да нет, вобщем-то понятные вопросы.
FreePascal - 32-разрядная система. Поэтому возможна адресация не более 4Гбайт, т.е. максимально можно добраться до 4 294 967 295-го байта ОП. На самом деле, если еще учесть базу сегмента, объем доступной памяти меньше (еще операционка съедает - телипается в верхних адресах, остается около 2Гбайт). А т.к. 4 294 967 295 < 10^18, то отсюда следует что? Правильно - Programm recived signal SIGSEGV sigmentation fault.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2012, 16:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Преобразование кода
Друзья, помогите преобразовать код. Создавал в КодБлокс, а препод требует в Визуалке(((, а с...

Преобразование кода
Переведите пожалуйста код из консоли в Windows Forms class Program { static void...

Преобразование кода
Доброго времени суток! Помогите пожалуйста преобразовать код php с mysql запросом (предоставляю...

Преобразование кода в С
Кому не сложно , помогите пожалуйста. Переделать в язык С var i: integer; a: array of...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.