Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Линейный массив

Автор: Настася 15.04.2007 21:21

PLeeeeeeeeeeeZ, помогите решить задачу!!! rolleyes.gif

Надо переделать массив A[N] так, чтобы положительные элементы разместились перед отрицательными и нулевыми ("впорядкування" не проводить) ....

ОГРОМНОЕ ПАСИБОООООООООООО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! smile.gif smile.gif smile.gif

 ! 
НЕ ПИШИТЕ В БОЛЬШОМ РЕГИСТРЕ! ЭТО РАСЦЕНИВАЕТСЯ КАК КРИК!! ВАМ НРАВИТСЯ, КОГДА НА ВАС КРИЧАТ?


Автор: Renbo 15.04.2007 21:24

а по-русски можно? ...

Автор: Anti 15.04.2007 21:24

попробуй ввести всё на русском, а то тебя могут не понять...
Впорядкування - упорядочивание smile.gif

Автор: Адель 15.04.2007 21:24

а сортировка не подходит??

Автор: Настася 15.04.2007 21:29

Впорядкування - упорядочивание .. Ет наверно и есть сортировка...?Значит нельзя... mega_chok.gif

Автор: klem4 15.04.2007 21:31

Цитата
а сортировка не подходит??


Это и есть упорядочивание, а оно по заданию не требуется.

Автор: Настася 15.04.2007 21:34

А Вы не могли бы помочь с етой задачкой...????? rolleyes.gif

Добавлено через 10 мин.
ПОЖАЛУЙСТА!!!!!!!!СРОЧНО НАДО!!!!!!!УМОЛЯЮ!!!!!!!!

Добавлено через 1 мин.

Цитата(klem4 @ 15.04.2007 17:31) *

Это и есть упорядочивание, а оно по заданию не требуется.



Ну может ...?PLEeeeeeeeeeeeeeeeZ..

 ! 
НЕ ПИШИТЕ В БОЛЬШОМ РЕГИСТРЕ! ЭТО РАСЦЕНИВАЕТСЯ КАК КРИК!! ВАМ НРАВИТСЯ, КОГДА НА ВАС КРИЧАТ?


Автор: klem4 15.04.2007 22:21

Если я правильно понял условие: Сначала строго положительные (не важно в каком порядке), затем нулевые и отрицательные в перемешку, то посмотри вот это:

Код
const
  n = 10;

var
  x: Array [1..n] of Integer = (-1, -2, 0, 1, 2, 4, -1, 5, 0, -12);
  left, right, T: Integer;

begin
  for T := 1 to n do write(x[T]:4); writeln;

  left := 1;
  right := n;

  repeat
    // ищем первый не положительный слева
    while (left < right) and (x[left] > 0) do inc(left);

    // ищем первый положительный справа
    while (right > left) and (x[right] <= 0) do dec(right);

    // меняем их местами

    T := x[left];
    x[left] := x[right];
    x[right] := T;
  until left >= right;

  for T := 1 to n do write(x[T]:4);
end.



ps пиши пожалуйста на Русском языке.

Автор: Настася 15.04.2007 22:34

БОЖЕ МОЙ,спасибо!!!!!!!!!!Я на русском, сорри smile.gif Только я то вроде поняла, но мы с left,right не делали...НО ВСЁ ЖЕ СПАСИБО ОГРОМНОЕ!!!!!!!!!

 ! 
НЕ ПИШИТЕ В БОЛЬШОМ РЕГИСТРЕ! ЭТО РАСЦЕНИВАЕТСЯ КАК КРИК!! ВАМ НРАВИТСЯ, КОГДА НА ВАС КРИЧАТ?


Автор: Настася 16.04.2007 1:16

Я очень извеняюсь..Но не могли б Вы помочь ещё с одноы задачей..Она легкая,но мне пишут "." expected...Чё ето значит???Там . не нужна....

Найти минимальный положительный елемент линейного массива.


Автор: klem4 16.04.2007 1:18

Ну это смотря кто пишет ... Если мама из командировки, то может и не нужна, а если компилятор ... Присоединяй исходник, посмотрим.

зы не надо постить кучу вопросов в одной теме.

Автор: Настася 16.04.2007 1:28

ууупс..Какой исходник и как его присоединять.....???

рs мне стыдно unsure.gif

Автор: klem4 16.04.2007 1:31

Исходный текст программы (код).

Автор: Настася 16.04.2007 1:37

Саму задачу??
найти минимальный положительный елемент линейного массива..
и ещё можно вопрос??Как мне саму програму в текстовый документ скопировать?

Автор: Lapp 16.04.2007 1:59

Цитата(Настася @ 15.04.2007 22:16) *

"." expected...Чё ето значит???Там . не нужна....

Это скорее всего значит, что у тебя нарушен баланс begin'ов и end'ов. Один (или больше) end лишний.

Добавлено через 2 мин.
Цитата(Настася @ 15.04.2007 22:37) *

Как мне саму програму в текстовый документ скопировать?

Найди файл с текстом программы на диске (в эксплорере) и драгенддропь его в ноутпад..
То бишь перенеси мышью из Проводника в текстовый редактор Блокнот smile.gif

Автор: Настася 16.04.2007 2:11

Какие все УМНЫЕ!!!!! smile.gif А я в программировании почти полный тупак... wacko.gif

Добавлено через 2 мин.
А можно попросить написать програму к етой задаче? rolleyes.gif

Найти MIN елемент массива

БУДУ ЖУТКО БЛАГОДАРНА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 ! 
НЕ ПИШИТЕ В БОЛЬШОМ РЕГИСТРЕ! ЭТО РАСЦЕНИВАЕТСЯ КАК КРИК!! ВАМ НРАВИТСЯ, КОГДА НА ВАС КРИЧАТ?


Автор: Настася 16.04.2007 3:01

 ! 
ТЕГИ !


М
Еще одно нарушение любого правила форума и ты отправляешься в премодерацию на 3 дня.



program dod;
uses crt;
const m=100;
var a :array[1..m] of integer;min,i,k,n:byte;
begin
ClrScr;
readln(n);
for i:=1 to n do readln(a[i]);
end;
ClrScr;
writeln('Dano');writeln('Masuv');
for i:=1 to n do
write (a[i],' '); writeln;
if o>=min then min:=a[1];k:=1;
for i :=2 to n do
if a [i]<min then begin min:=a[i];k:=i;
writeln('Rezyltat');
writeln('min=',min,'k=',k);
readln
end.


где здесь ошибки?????Ето чтоб найти минимальный положительный

Автор: Tan 16.04.2007 3:38

Цитата
if o>=min then min:=a[1];k:=1;
Что это за буква о или это ты думаешь что буква о и 0 для паскаля равносильны ? И если даже это 0, то зачем такое сравнение ? Просто предположи что первый элемент минимальный и сравнивай с ним последующие.
uses crt;
Const N = 10;
var ms : array [1..N] of integer;
min, i : integer;
begin
Clrscr;
randomize;
for i:=1 to N do
begin
ms[i]:=random(10) - 5;
write (ms[i]:3);
end;
writeln;
min:=ms[1];
for i:=1 to N do if ms[i] < min then min:=ms[i];
write (min);
readkey;
end.



Автор: Настася 22.04.2007 19:04

Просто мне неадо найти неепросто минимальный(ъто я смоглаб,наверно;)) ,а минимальный положительный.... unsure.gif