![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Райдер |
![]()
Сообщение
#1
|
Гость ![]() |
ребят, такая же фигня. в Паскале надо решить такую задачу:
Цитата вставить число в упорядоченный массив. Вновь образованный массив вывести на экран. Завтра в универе будет грустно без этой задачи. А в Паскале и вообще в программировании не понимаю НИЧЕГО. вообще дуб дубом. задача то наверное для вас детская, но кто поможет тому МЕГА респект и спасибо! ![]() Добавлено (21.12.04 9:55): сорри, забыл, массив одномерный. |
![]() ![]() |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Код uses crt; const n=5; var x:array[1..n] of extended; i:integer; p:extended; Begin clrscr; writeln('Vvedite elementi massiva'); for i:=1 to n do readln(x[i]); writeln('Vvedite nomer elementa,kotori hotite izmenit'); readln(i); writeln('Vvedite znachenie, kotoroe hotite prisvoit elementy s nomerom ',i); readln(p); writeln; x[i]:=p; for i:=1 to n do writeln(x[i]:2:3); readln; end. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
mithquessir |
![]()
Сообщение
#3
|
Гость ![]() |
klem4
Вообще-то элемент нужно было вставить, а не заменять. :yes: Код const n = 5; a:array[1..n+1] of integer = (1,2,3,4,5,0); var new,i,pos:integer; begin WriteLn('Введите индекс вставляемого элемента'); ReadLn(pos); WriteLn('Введите вставляемый элемент'); ReadLn(new); for i := n+1 downto pos do a[i] := a[i-1]; a[pos] := new; for i := 1 to n+1 do Write(a[i]:2); end. |
Райдер |
![]()
Сообщение
#4
|
Гость ![]() |
спасибо ребят огромное, тут есть еще одна задача, если поможете,будет мне счастье в жизни.
![]() "Найти макс. элемент двумерного массива А(n,m) и вычесть его из элементов столбца в котором он находится." еще раз спасибо. |
mithquessir |
![]()
Сообщение
#5
|
Гость ![]() |
Код const n = 3; m =3; a:array[1..n,1..m] of integer = ((1,-2,3),(-3,2,-1),(2,-1,3)); var max,i,j,ind:integer; begin max := -maxint; for i := 1 to n do for j := 1 to m do if a[i,j] > max then begin max := a[i,j]; ind :=j; end; for i := 1 to n do dec(a[i,ind],max); for i := 1 to n do begin WriteLn; for j := 1 to m do Write(a[i,j]:3); end; end. |
klem4 |
![]()
Сообщение
#6
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Извиняюсь, неправильно понял условие.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Может я конечно чо-то не понимаю, но у тебя пропадает один из элементов в конце, тебе не кажется ? :D
По моему правильнее так : Код uses crt; const n=6; var x:array[1..n] of integer; i,new,newi,p:integer; Begin clrscr; randomize; for i:=1 to n-1 do begin x[i]:=random(6); write(x[i]); write(' '); end; writeln; readln(newi); writeln; readln(new); writeln; for i:=n downto new do begin p:=x[i-1]; x[i]:=p; end; x[newi]:=new; writeln; for i:=1 to n do begin write(x[i]); write(' '); end; readln; end. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
mithquessir |
![]()
Сообщение
#8
|
Гость ![]() |
klem4
Массив я описываю константой, потому что так быстрее, а 0 в конце - просто пустой элемент - это то же самое, что ты объявил массив из n элементов, а заполнил его весь, кроме последнего элемента. |
klem4 |
![]()
Сообщение
#9
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
У тебя массив из_6_элементов (1,2,3,4,5,0)
в конечном массиве одни из элементов у тебя пропадает, у меня массив становится на 1 элемент больше ЗАДАЧА в массив ВСТАВИТЬ элемент ,все элементы которые были, должны остаться. поставь вот это в начале и сравник с конечным массивом, все эелементы на месте ? Код {****************************} for i:=1 to n+1 do begin write(a[i]); write(' '); end; readln; {****************************} Сообщение отредактировано: klem4 - 22.12.2004 8:27 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
klem4
Цитата У тебя массив из_6_элементов А у тебя тоже массив из 6-ти элементов, но инициализируешь ты почему-то только 5... Логичнее делать так, как сделал mithquessir: Код const n = 5; a:array[1..n+1] of integer = (1,2,3,4,5,0); при n = 5 описать массив на 1 элемент больше, и использовать лишний элемент для расширения... P.S. Если уж об этом зашел разговор, то сделать так, чтобы массив действительно менял размер, невозможно без использования динамической памяти... Сообщение отредактировано: volvo - 22.12.2004 0:18 |
mithquessir |
![]()
Сообщение
#11
|
Гость ![]() |
volvo
Согласен. :yes: Код type ArrElem = integer; ArrType = array[1..1] of ArrElem; TArr = object Arr:^ArrType; private ArrSize:word; public constructor Create; destructor Destroy; procedure SetArrSize(size:word); procedure Enter; procedure Print; procedure Insert(pos:word,num:integer); procedure IncArrSize; end; constructor TArr.Create; begin GetMem(Arr,ArrSize * SizeOf(ArrElem)); end; destructor TArr.Destroy; begin FreeMem(Arr,ArrSize * SizeOf(ArrElem)); end; procedure TArr.SetArrSize(size:word); begin ArrSize := size; end; procedure TArr.Enter; var i:integer; begin WriteLn('Vvodite elementy postrochno'); for i := 1 to ArrSize do begin Write('[',i,']='); Read(Arr^[i]); end; end; procedure TArr.Print; var i:integer; begin WriteLn('Massiv:'); for i := 1 to ArrSize do WriteLn('[',i,']=',Arr^[i]); end; procedure TArr.Insert(pos:word,num:integer); var i:integer; begin IncArrSize; for i := ArrSize downto pos do Arr^[i] := Arr^[i-1]; Arr^[pos] := num; end; procedure TArr.IncArrSize; var b:array[1..1000] of ArrElem; i,oldsize:integer; begin for i := 1 to ArrSize do b[i] := Arr^[i]; oldsize := ArrSize; SetArrSize(ArrSize+1); Create; for i := 1 to oldsize do arr^[i] := b[i]; end; var a:TArr; begin a.SetArrSize(5); a.Create; a.Enter; a.Insert(2,0); a.Print; a.Destroy; end. |
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
mithquessir
Если бы ты еще ФАК посмотрел, то нашел бы там уже готовый модуль, который реализует динамический массив... ![]() |
mithquessir |
![]()
Сообщение
#13
|
Гость ![]() |
volvo
Смотрел, это же святая святых. ![]() ![]() Сообщение отредактировано: mithquessir - 22.12.2004 19:07 |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 7:03 |