Здравствуйте! Я был бы очень рад если бы вы мне помогли бы с маленькой пробдемой... Программа должна переставить элементы списка по следующему звкону: если текущий элемент больше некоторого числа Р то поместитьследующий заним элемент в конец цепочки; если текущий элемент меньше или равен Р перенести его в начало цепочки (первый оставить безизменения) Вот код но это не вся программа почемуто у меня список не хочет присваиваться и выводится на экран...
Program Spisok; Uses CRT; Type TDat=integer; TLink=^Element; Element=Record Data:TDat; Link:TLink; End; Var List1,Elem,FindElem:TLink; i,n,p:TDat; {----------------} Procedure InPutList(Var List:TLink); Var ElNew:TLink; Val:TDat; i,n:Integer; Begin ClrScr; WriteLn('vvedite kol-vo elementov spiska '); ReadLn(n); List:=NIL; For I:=1 To n Do Begin WriteLn('vvedite ',i,' element'); Read(val); New(ElNew); ElNew^.Data:=Val; ElNew^.Link:=List; List:=ElNew; End; End; {----------------} Procedure OutPutList(Var List:TLink); Var i:TDat; Begin WriteLn('element spiska '); While List <> NIL Do Begin Write(List^.Data,' '); List:=List^.Link; End; WriteLn; End; {----------------} {----------------} Begin InPutList(List1); List1:=List1; OutPutList(List1);
OutPutList(List1); Elem:=List1;
Write('wedite P='); Readln(P);
FindElem:=NIL; While List1 <> NIL Do Begin
If Elem^.Data>P Then Begin FindElem:=Elem; New(FindElem); {Elem^.Link:=NIL;} Elem^.Link:=FindElem; FindElem^.Link:=NIL;
End Else Elem:=Elem^.Link;
End;
OutPutList(Elem);
End.
Заранее СПАСИБО...
Автор: compiler 4.05.2008 22:05
ух, ну ты и намудрил... возьми модуль для работы с деками из ЧаВО и считай программа готова...
Автор: dream-x 4.05.2008 22:09
Цитата(compiler @ 4.05.2008 19:05)
ух, ну ты и намудрил... возьми модуль для работы с деками из ЧаВО и считай программа готова...
Не не катит...
Автор: compiler 4.05.2008 22:20
Цитата(dream-x @ 4.05.2008 18:09)
Не не катит...
ну если хочешь заняться, как говорит сегодняшний именинник, изобретением велосипеда, тогда избавься от изменения глобальных переменных в процедурах, гляди и программа читабельной станет...
зы но еще раз подумай о деках, программа будет в десять строк и иметь четкую структуру...
Автор: dream-x 4.05.2008 22:57
Цитата(compiler @ 4.05.2008 19:20)
ну если хочешь заняться, как говорит сегодняшний именинник, изобретением велосипеда, тогда избавься от изменения глобальных переменных в процедурах, гляди и программа читабельной станет...
зы но еще раз подумай о деках, программа будет в десять строк и иметь четкую структуру...
Вот я не могу понять (я вроде исправил переменные) почему не выводит 2 раза список:
Begin InPutList(List1); OutPutList(List1); OutPutList(List1);
Автор: compiler 4.05.2008 23:02
Цитата(dream-x @ 4.05.2008 18:57)
я вроде исправил переменные
исправленный код в студию...
для проверки, точно ли ты исправил), можешь перенести раздел объявления глобальных переменных ПОСЛЕ процедур...
Автор: dream-x 4.05.2008 23:05
Цитата(compiler @ 4.05.2008 20:02)
исправленный код в студию... для проверки, точно ли ты исправил), можешь перенести раздел объявления глобальных переменных ПОСЛЕ процедур...
Он вверху
Автор: compiler 4.05.2008 23:08
Цитата(dream-x @ 4.05.2008 19:05)
Он вверху
щаз посмотрим твой всевышний код)
и сразу вопрос строка List1:=List1; имеет скрытый смысл?
а теперь непосредственно по теме: можешь описать что делает OutPutList? для подсказки, можешь заменить ее описание на Procedure OutPutList(const List:TLink); ... в общем она не только выводит данные... upd забыл изменит var на const(
Автор: dream-x 4.05.2008 23:12
Цитата(compiler @ 4.05.2008 20:08)
щаз посмотрим твой всевышний код)
и сразу вопрос строка List1:=List1; имеет скрытый смысл?
Это от безысходности
Добавлено через 1 мин.
Program Spisok; Uses CRT; Type TData=integer; PLink=^TElement; TElement=Record Data:TData; Link:PLink; End; {----------------} Procedure InPutList(Var List:PLink); Var ElNew:PLink; Value:TData; i,n:Integer; Begin ClrScr; WriteLn('vvedite kol-vo elementov spiska '); ReadLn(n); List:=NIL; For I:=1 To n Do Begin WriteLn('vvedite ',i,' element'); Read(value); New(ElNew); ElNew^.Data:=Value; ElNew^.Link:=List; List:=ElNew; End; End; {----------------} Procedure OutPutList(Var List:PLink); Var i:integer; Begin WriteLn('element spiska '); While List <> NIL Do Begin Write(List^.Data,' '); List:=List^.Link; End; WriteLn; End; {----------------} Var List1,Elem,FindElem:PLink; i,n,p:Integer; {----------------} Begin InPutList(List1);
OutPutList(List1);
OutPutList(List1); Elem:=List1;
Write('wedite P='); Readln(P);
FindElem:=NIL; While List1 <> NIL Do Begin
If Elem^.Data>P Then Begin FindElem:=Elem; New(FindElem); {Elem^.Link:=NIL;} Elem^.Link:=FindElem; FindElem^.Link:=NIL;
End Else Elem:=Elem^.Link;
End;
OutPutList(Elem);
End.
Переделанный... Как ты просил...
Автор: compiler 4.05.2008 23:20
я обновил предыдущий пост...
Автор: dream-x 4.05.2008 23:23
Цитата(compiler @ 4.05.2008 20:20)
я обновил предыдущий пост...
Ну что я зделал неправильно, я понять не могу тут все Должно павыводиться!
Автор: compiler 4.05.2008 23:30
Цитата(dream-x @ 4.05.2008 19:23)
Ну что я зделал неправильно, я понять не могу тут все Должно павыводиться!
процедуры вывода не должны менять значения чего либо... скажем есть урывок
var i:integer; begin i:=0; writeln(i); {i = ?} end.
ты хотел бы что бы i менялась? наверное, нет... а у тебя в процедуре List меняется на nil. . и в следующий раз ничего не выводится... добавь в процедуру дополнительную переменную и меняй ее, а List не трож!
Автор: dream-x 4.05.2008 23:34
Цитата(compiler @ 4.05.2008 20:30)
процедуры вывода не должны менять значения чего либо... скажем есть урывок
var i:integer; begin i:=0; writeln(i); {i = ?} end.
ты хотел бы что бы i менялась? наверное, нет... а у тебя в процедуре List меняется на nil. . и в следующий раз ничего не выводится... добавь в процедуру дополнительную переменную и меняй ее, а List не трож!
Где именно
Procedure InPutList(Var List:PLink); Var ElNew:PLink; Value:TData; i,n:Integer; Begin ClrScr; WriteLn('vvedite kol-vo elementov spiska '); ReadLn(n); List:=NIL; For I:=1 To n Do Begin WriteLn('vvedite ',i,' element'); Read(value); New(ElNew); ElNew^.Data:=Value; ElNew^.Link:=List; List:=ElNew; End; End;
Если сдесь сдесь должно так быть и я щас попробывал одно и тоже...
Добавлено через 2 мин. Это же ввод списка а перед вводом его обнулить надо
Автор: compiler 4.05.2008 23:39
причем здесь InPutList? мы ж вроде говорили о другой процедуре...
Procedure OutPutList(Var List:PLink); Var i:integer; Begin WriteLn('element spiska '); While List <> NIL Do Begin Write(List^.Data,' '); List:=List^.Link; {<-- здесь кто меняет List? } End; WriteLn; End;
Автор: dream-x 4.05.2008 23:42
Цитата(compiler @ 4.05.2008 20:39)
причем здесь InPutList? мы ж вроде говорили о другой процедуре...
Procedure OutPutList(Var List:PLink); Var i:integer; Begin WriteLn('element spiska '); While List <> NIL Do Begin Write(List^.Data,' '); List:=List^.Link; {<-- здесь кто меняет List? } End; WriteLn; End;
ммм... а если тут убрать это тогда цикл зациклится
Автор: volvo 4.05.2008 23:45
Цитата
а если тут убрать это тогда цикл зациклится
А если убрать Var вот тут:
Цитата
Procedure OutPutList(Var List:PLink);
, ничего не зациклится?
Ты б лучше привел пример, что должно быть в результате, если список вот такой: <5, 6, 7, 8, 9>, а число P = 7?
Автор: compiler 4.05.2008 23:45
Цитата(dream-x @ 4.05.2008 19:42)
ммм... а если тут убрать это тогда цикл зациклится
это из серии невероятное рядом? я же написал
Цитата
добавь в процедуру дополнительную переменную и меняй ее, а List не трож!
читаем внимательней....
Автор: dream-x 4.05.2008 23:49
Цитата(volvo @ 4.05.2008 20:45)
А если убрать Var вот тут: , ничего не зациклится?
Ты б лучше привел пример, что должно быть в результате, если список вот такой: <5, 6, 7, 8, 9>, а число P = 7?
мне кажется так: "5 7 6 8 9"
Автор: volvo 4.05.2008 23:54
Цитата
мне кажется так:
А теперь - по шагам, для тех кто не понимает Паскаля, пройди и попробуй получить по своему алгоритму (приведенному в первом посте) из того, что написал я, твой результат...
Что и куда переносится, напиши...
Вот так вот: 1. исходный список: <5, 6, 7, 8, 9> элемент P = 7 2. текущий элемент = 5, меньше P, переносим его туда-то, получаем то-то... 3. ... и так далее ...
Я хочу видеть в результате проход по всему списку, и что у тебя получилось... Прежде, чем что-то программировать, надо понять, что это должно делать...
Автор: dream-x 4.05.2008 23:55
Уважаемый volvo! Поздравляю с днем Рождения! И все заработало ну в смысле все выводиться щас дальше делать буду) Спасибо volvo и compiler
Автор: dream-x 5.05.2008 0:17
Вот так вот: 1. исходный список: <5, 6, 7, 8, 9> элемент P = 7 2. текущий элемент = 5, меньше P, оставляем без изменения получем <5, 6, 7, 8, 9> 3. текущий элемент = 6, меньше P, оставляем без изменения т.к. он и так 2-ой получем <5, 6, 7, 8, 9> 4. текущий элемент = 7, равен P, переносим еговначало но после 5 т.к. 5 это начало списка получем <5, 7, 6, 8, 9> 5. текущий элемент = 8, больше P, переносим в конец получем <5, 6, 7, 9, 8> 6. текущий элемент = 9, больше P, переносим в конец получем <5, 6, 7, 8, 9>
Автор: dream-x 5.05.2008 2:17
Вот еще вопрос появился , я список перегнал в однородный массив и как мне теперь вставить элемнт между элементами массива... Например есть массив <1 2 3 4 5 6> как мне всавить 3 между единицей и 2 чтобы получилось так <1 3 2 4 5 6>
Автор: compiler 5.05.2008 18:06
Цитата(dream-x @ 4.05.2008 22:17)
Вот еще вопрос появился , я список перегнал в однородный массив и как мне теперь вставить элемнт между элементами массива... Например есть массив <1 2 3 4 5 6> как мне всавить 3 между единицей и 2 чтобы получилось так <1 3 2 4 5 6>
не захотел делать с деками - ладно, но зачем сувать сюда массивы? та за такое... или у тебя задания придумать самый НЕ оптимальный способ? это же список, тут вся прелесть в работе с указателями.... насчёт массива, если он статический -- вставляешь в нужное место, а остальные сдвигаешь, если динамический - в зависимости от реализации..
Автор: dream-x 5.05.2008 22:24
Цитата(compiler @ 5.05.2008 15:06)
не захотел делать с деками - ладно, но зачем сувать сюда массивы? та за такое... или у тебя задания придумать самый НЕ оптимальный способ? это же список, тут вся прелесть в работе с указателями.... насчёт массива, если он статический -- вставляешь в нужное место, а остальные сдвигаешь, если динамический - в зависимости от реализации..
Массивами это я как вариант...
Автор: compiler 5.05.2008 22:52
Цитата(dream-x @ 5.05.2008 18:24)
Массивами это я как вариант...
смотрим примеры работы со списками и пишем аналогично(примеры можно взять с любого учебника или поискать по форуму)
Автор: dream-x 6.05.2008 3:44
Задание слегка изменилось но суть таже... Составить программу вставки элемента O после каждого элемента списка, превышающее некоторое значение Р. Вот код... но есть проблема он стирает последующие символы...
Program Spisok; Uses CRT; Type TData=integer; PLink=^TElement; TElement=Record Data:TData; Link:PLink; End; {----------------} Procedure InPutList(Var List:PLink); Var ElNew:PLink; Value:TData; i,n:Integer; Begin ClrScr; WriteLn('vvedite kol-vo elementov spiska '); ReadLn(n); { List:=NIL;} For I:=1 To n Do Begin WriteLn('vvedite ',i,' element'); Read(value); New(ElNew); ElNew^.Data:=Value; ElNew^.Link:=List; List:=ElNew; End; End; {----------------} Procedure OutPutList(List:PLink); Var i:integer; Begin WriteLn('element spiska '); While List <> NIL Do Begin Write(List^.Data,' '); List:=List^.Link; End; WriteLn; End; {----------------} Procedure Insert(var q,l:PLink; x:TData); Var r:PLink; Begin New®; R^.Data:=x; R^.Link:=Q^.Link; Q^.Link:=R; l^.link:=R; End; {---------------------} Var List1,Elem,NewElem:PLink; o, i,n,p:Integer; ff:boolean; {----------------} Begin InPutList(List1); OutPutList(List1); Write('wedite P='); Readln(P); Write('wedite O='); Readln(O); Elem:=List1; NewElem:=List1; i:=0; {----------------------------------} While Elem <> NIL Do Begin If Elem^.Data>p Then Begin insert(Elem,NewElem,O); OutPutList(NewElem); i:=I+1; Writeln('*****',i,'*****'); End; Elem:=Elem^.Link;
End; readkey End.
я не могу понять почему он затирает последующие символы...
Автор: compiler 6.05.2008 18:56
Цитата(dream-x @ 5.05.2008 23:44)
Вот код... я не могу понять почему он затирает последующие символы...
чесно говоря, я тоже не очень понимаю твою программу... но если заменить insert, на что-то подобное
procedure insert(var p_now:PLink; const data:TData); var p_new:PLink; begin new(p_new); p_new^.data := data; p_new^.link := p_now^.link; p_now^.link := p_new; end;
то, вроде, функциональность уже ближе к желаемой... я так и не понял, почему ты туда хочешь передавать три параметра... и еще у тебя в программе есть не используемые переменные. и,если разговор зашел о переменных, я продолжаю рекомендовать объявлять глобальные переменные ПОСЛЕ процедур..
Автор: dream-x 6.05.2008 19:36
Цитата(compiler @ 6.05.2008 15:56)
чесно говоря, я тоже не очень понимаю твою программу... но если заменить insert, на что-то подобное
procedure insert(var p_now:PLink; const data:TData); var p_new:PLink; begin new(p_new); p_new^.data := data; p_new^.link := p_now^.link; p_now^.link := p_new; end;
то, вроде, функциональность уже ближе к желаемой... я так и не понял, почему ты туда хочешь передавать три параметра... и еще у тебя в программе есть не используемые переменные. и,если разговор зашел о переменных, я продолжаю рекомендовать объявлять глобальные переменные ПОСЛЕ процедур..
Спасибо!!! Ну что такое, всего-то надо было присвоить ссылке следующее значение и все еще раз спасибо огромное, все понятно. Что-то я ступил...
Автор: compiler 6.05.2008 19:51
Цитата(dream-x @ 6.05.2008 15:36)
Спасибо!!!
всегда пожалуйста...
Цитата(dream-x @ 6.05.2008 15:36)
Что-то я ступил...
посмотри еще примеры... и попытайсяя делать код "чище"...
Автор: dream-x 6.05.2008 23:40
Цитата(compiler @ 6.05.2008 16:51)
всегда пожалуйста... посмотри еще примеры... и попытайсяя делать код "чище"...
Еще раз спасибо! Все учту... З.Ы. А щас курсач доделывать буду...
Добавлено через 5 мин. Если кому нужна эта задача то вот исходник
это был курсач? если не секрет, где такие "курсачи" дают и на каком курсе... или курсач на другую тему?
онтоп а лишние переменные ты так и не убрал...
Автор: dream-x 7.05.2008 0:30
Цитата(compiler @ 6.05.2008 20:50)
прошу прощения за оффтоп..
это был курсач? если не секрет, где такие "курсачи" дают и на каком курсе... или курсач на другую тему?
онтоп а лишние переменные ты так и не убрал...
Нет курсач у меня Пятнашки у меня там проблема с записью в файл имя игрока и его рекорд... А ссылки это так лаба была...
Автор: compiler 7.05.2008 0:51
Цитата(dream-x @ 6.05.2008 20:30)
Нет курсач у меня Пятнашки у меня там проблема с записью в файл имя игрока и его рекорд... А ссылки это так лаба была...
курс? учебное заведение?
и это переменные нашёл? у тебя их там три штуки... и OutPutList ты до ума не довел... заведи там отдельную переменную(зато сократится одна глобальная), но не меняй входные данные... и напоследок, освобождение памяти тоже делать надо...
Автор: dream-x 7.05.2008 2:01
Цитата(compiler @ 6.05.2008 21:51)
курс? учебное заведение?
и это переменные нашёл? у тебя их там три штуки... и OutPutList ты до ума не довел... заведи там отдельную переменную(зато сократится одна глобальная), но не меняй входные данные... и напоследок, освобождение памяти тоже делать надо...
1 курс, Рязанский Радиотехнический Государственный Университет спец, САПР ВС... это я щас все сделаю... а про память это как ее освоюождать?
Автор: compiler 7.05.2008 20:04
Цитата(dream-x @ 6.05.2008 22:01)
Рязанский Радиотехнический Государственный Университет
интересно... а я тоже собираюсь в такой же поступать, только в Харьковский)
Цитата(dream-x @ 6.05.2008 22:01)
это я щас все сделаю...
ну , тут, батенька, поиск.. даже в ЧаВо єто есть, если псевдокодом..
Код
процедура освобождения(var список) var указатель_на старый_элемент begin пока список не указывает на нил[не речка)] begin старому элементу присвоить текущие значение(список) список указывает на следующий элемент освободить старый элемент(dispose(p_old);) end; end;
Автор: volvo 7.05.2008 20:40
Цитата
Если кому нужна эта задача то вот исходник
Не могу понять программистов, которые делают непонятные (интуитивно) программы...
Если я ввожу данные в список так: <1, 2, 3, 4, 5> - почему тут же получаю распечатку в виде: <5, 4, 3, 2, 1> ? Что, настолько сложно сделать добавление в конец списка? Всего навсего:
Procedure InPutList(Var List:PLink); Var ElNew, Tail: PLink; Value:TData; i,n:Integer; Begin ClrScr; WriteLn('vvedite kol-vo elementov spiska '); ReadLn(n);
List := nil; Tail := nil; For I:=1 To n Do Begin WriteLn('vvedite ',i,' element'); Read(value); New(ElNew); ElNew^.Data:=Value; ElNew^.Link:=nil;
if List = nil then List := ElNew else Tail^.Link := ElNew;
Tail := ElNew; End; End;
неужели настолько много изменилось?
Второе: по условию -
Цитата
Программа должна переставить элементы списка по следующему звкону: если текущий элемент больше некоторого числа Р то поместитьследующий заним элемент в конец цепочки; если текущий элемент меньше или равен Р перенести его в начало цепочки (первый оставить безизменения)
Все. Точка... Вводить надо только список и значение P. С какой стати программа требует ввода какого-то O? Хоть бы объясняла, зачем оно, а то, собственно, что вводить-то?
Добавлено через 11 мин. P.S. Опять же... Основная программа:
... insert(Elem,O); OutPutList(NewElem); { <--- Это значение что, где-то инициализировалось? } ...
Нет... Зачем выводить пустоту?
А при вводе в O значения, которое превышает P (я не знаю, что туда надо было вводить, поэтому экспериментирую в режиме телепатии) программа вообще зацикливается...
Автор: dream-x 7.05.2008 21:59
Цитата(volvo @ 7.05.2008 17:40)
А при вводе в O значения, которое превышает P (я не знаю, что туда надо было вводить, поэтому экспериментирую в режиме телепатии) программа вообще зацикливается...
Уважаемый volvo вот собственно задание: Составить программу вставки элемента O после каждого элемента списка, превышающее некоторое значение Р. Вот код... но есть проблема он стирает последующие символы...
Автор: volvo 9.05.2008 21:11
Цитата
но есть проблема он стирает последующие символы...
Я тебе написал, какие у тебя ЕЩЕ проблемы в коде... В условии не сказано, что вводимое значение O должно быть меньше, чем значение P, правда?
Вводим O = 8 и P = 3 при списке = <5, 4, 3, 2, 1> и получаем зацикливание... Если хочешь - расскажу, в чем причина зацикливания, но тебе будет полезнее пройтись по программе в режиме отладки и найти ошибку самостоятельно...
А все потому, что ты не хочешь делать так, как нужно (а как нужно - написано в FAQ-е, в теме про ДСД), а хочешь все время сделать по-своему, к тому же неправильно, и при этом еще утверждаешь, что программа у тебя рабочая (см. свой же пост №30)
Автор: dream-x 9.05.2008 21:20
Цитата(volvo @ 9.05.2008 18:11)
Я тебе написал, какие у тебя ЕЩЕ проблемы в коде... В условии не сказано, что вводимое значение O должно быть меньше, чем значение P, правда?
Вводим O = 8 и P = 3 при списке = <5, 4, 3, 2, 1> и получаем зацикливание... Если хочешь - расскажу, в чем причина зацикливания, но тебе будет полезнее пройтись по программе в режиме отладки и найти ошибку самостоятельно...
А все потому, что ты не хочешь делать так, как нужно (а как нужно - написано в FAQ-е, в теме про ДСД), а хочешь все время сделать по-своему, к тому же неправильно, и при этом еще утверждаешь, что программа у тебя рабочая (см. свой же пост №30)
Я не заметил прошу прощение щас пройдусь и все посмотрю спасибо огромное!
Автор: dream-x 9.05.2008 21:45
Вот собственно что я придумал... Но все равно он удаляет предшествующие элементы после 2 повторения цикла
procedure insert(var p_now: PLink; const data:TData); var p_new:PLink; begin new(p_new);
p_new^.data := data; p_new^.link := p_now^.link; p_now^.link := p_new; p_now := p_now^.link; { <--- Ты ж добавил элемент, надо его пропустить! } end;
А вызывать - вот так:
While Elem <> NIL Do Begin
If Elem^.Data>p Then Begin insert(Elem,O); OutPutList(List1); { <--- Печатать ВЕСЬ список, а не с плавающего указателя ... } i:=i+1; Writeln('*****',i,'*****'); End; Elem:=Elem^.Link; End;
Автор: dream-x 9.05.2008 22:04
Цитата(volvo @ 9.05.2008 18:59)
Почти... Надо вот так:
procedure insert(var p_now,p_list:PLink; const data:TData); var p_new:PLink; begin new(p_new); p_new^.data := data; p_new^.link := p_now^.link; p_list := p_now; p_now := p_new^.link; { <--- Ты ж добавил элемент, надо его пропустить! } end;
А вызывать - вот так:
While Elem <> NIL Do Begin
If Elem^.Data>p Then Begin insert(Elem,O); OutPutList(List1); { <--- Печатать ВЕСЬ список, а не с плавающего указателя ... } i:=i+1; Writeln('*****',i,'*****'); End; Elem:=Elem^.Link; End;
Блин в процедуре действительно оплашал а это я же так хотел сделать вод дурак что меня оставнавило не знаю)) Спасибо...
Добавлено через 14 мин.
Цитата(dream-x @ 9.05.2008 19:04)
Блин в процедуре действительно оплашал а это я же так хотел сделать вод дурак что меня оставнавило не знаю)) Спасибо...
Хм я чет не понял смотри есди я вызываю так:
While Elem <> NIL Do Begin If Elem^.Data>p Then Begin insert(Elem,list1,O); { вот собственно так? если да то нефига } OutPutList(list1); i:=i+1; Writeln('*****',i,'*****'); End; Elem:=Elem^.Link; End;
Автор: volvo 9.05.2008 22:22
Я там поправил, у Insert всего 2 параметра, я просто скопировал на автомате... А вызов - как я показал раньше...
Автор: dream-x 9.05.2008 22:32
Цитата(volvo @ 9.05.2008 19:22)
Я там поправил, у Insert всего 2 параметра, я просто скопировал на автомате... А вызов - как я показал раньше...
Volvo все равно косяк... Он выводит только 1-ое изменение...
Автор: volvo 9.05.2008 23:28
Проверяй внимательно, у меня только что все отработало...
Автор: dream-x 9.05.2008 23:39
Цитата(volvo @ 9.05.2008 20:28)
Проверяй внимательно, у меня только что все отработало...
Ага я TP7 перезапустил и все заработало... спс! P. S. Извини конечно меня а ты не мог бы посмотреть мой бред с таблицей я уже с ней неделю сижу а мне через неделю курсач сдавать.