Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2010, 15:28   #1
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию Пеpенести в хвост одномеpного массива пеpвый отpицательный элемент.

ЗАДАЧА ПО ПАСКАЛЮ
Пеpенести в хвост одномеpного массива пеpвый
отpицательный элемент.

Ввод с помощью типизированной константы
Вывод в типизированный файл.
Помогите пожалуйста,завтра на зачете нужно будет

Последний раз редактировалось Irisk; 23.12.2010 в 15:41.
Irisk вне форума Ответить с цитированием
Старый 23.12.2010, 15:43   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

какой язык программирования?

Задача простейшая...
Что вызывает трудности?

(это что, школьная задача? И какой, если не секрет класс? )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.12.2010, 15:48   #3
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию

10 класс. мы только начали изучать паскаль.
напишите пожалуйста полность программы,если вам не трудно

Код:
uses crt;
var i,j,n,temp:integer;
const a:array[1..5] if integer(2,0,-5,-8,6);
begin
clrscr;
n:=5;
for i:=1 to n do
writeln(a[i],' ');
for i:=1 to n do
if a[i]<0 then
for j:=i+1 to n do begin temp:=a[j];
                                a[j]:=a[j-1];
                                a[j-1]:=temp;
end;
for i:=1 to n do
write(a[i],' ');
readln;
end.
как выводить в типизированный файл?


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Stilet; 25.12.2010 в 12:00.
Irisk вне форума Ответить с цитированием
Старый 23.12.2010, 20:26   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

в приведённом Вами коде несколько глупых опечаток..
Вы его что, с книжки набирали?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.12.2010, 20:32   #5
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию

какие опечатки?
Irisk вне форума Ответить с цитированием
Старый 23.12.2010, 20:34   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
uses crt;
const n = 5;
const a: array[1..n] of integer
            = (2, 0, -5, -8, 6);
var
  i, temp: integer;
  f : file of integer;
begin
    clrscr;
    Writeln('ishodnyj massiv: ');
    for i := 1 to n do
      write(a[i], ' ');
    Writeln;

    {поиск первого отрицательного элемента}
    i:=1;
    while (i<=n) and (a[i]>=0) do inc(i);

    if (i<=n) then {нашли отрицательный элемент}
      {поменяем i-й элемент c последним }
    begin
      temp := a[i];
      a[i] := a[n];
      a[n] := temp;
    end;

    {вывести преобразованный массив на экран}
    Writeln;
    Writeln('preobrazovannyj massiv: ');
    for i := 1 to n do
      write(a[i], ' ');
    Writeln;

    {запись в типизированный файл}
    Assign(f,'Massiv.dat');
    Rewrite(f);
    for i := 1 to n do
      write(f, a[i]);
    Close(f);


    readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.12.2010, 21:25   #7
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию

выводится 2 0 -5 -8 6
2 0 6 -8 -5
а должно 2 0 -8 6 -5
Irisk вне форума Ответить с цитированием
Старый 23.12.2010, 21:53   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вы хотите, чтобы при переносе в хвост отрицательного значения, все остальные сдвинулись на один влево?..

да не вопрос:
Код:
uses crt;
const n = 5;
const a: array[1..n] of integer
            = (2, 0, -5, -8, 6);
var
  i, j, temp: integer;
  f : file of integer;
begin
    clrscr;
    Writeln('ishodnyj massiv: ');
    for i := 1 to n do
      write(a[i], ' ');
    Writeln;

    {поиск первого отрицательного элемента}
    i:=1;
    while (i<=n) and (a[i]>=0) do inc(i);

    if (i<n) then {нашли отрицательный элемент и он не крайний}
      {сдвинем все элементы влево на один,
        а i-й элемент поставим последним элементом массива }
    begin
      temp := a[i];
      for j:=i+1 to n do a[j-1]:=a[j];
      a[n] := temp;
    end;

    {вывести преобразованный массив на экран}
    Writeln;
    Writeln('preobrazovannyj massiv: ');
    for i := 1 to n do
      write(a[i], ' ');
    Writeln;

    {запись в типизированный файл}
    Assign(f,'Massiv.dat');
    Rewrite(f);
    for i := 1 to n do
      write(f, a[i]);
    Close(f);


    readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.12.2010, 17:24   #9
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию

Код:
for j:=i+1 to n do a[j-1]:=a[j];
      a[n] := temp;
    end;
выдает ошибку нельзя присвоить левой части a[j-1]:=a[j];
Irisk вне форума Ответить с цитированием
Старый 25.12.2010, 03:56   #10
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Irisk Посмотреть сообщение
Код:
for j:=i+1 to n do a[j-1]:=a[j];
      a[n] := temp;
    end;
выдает ошибку нельзя присвоить левой части a[j-1]:=a[j];
Так и пишет?
Правильно заданный вопрос - половина ответа!
XeruH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить элемент из массива dron-k Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 17.09.2010 17:46
первый нулевой элемент массива shelest Помощь студентам 2 15.11.2009 12:38
Удалить элемент массива pavel42 Помощь студентам 14 21.05.2009 08:52
Найти 3-ий по величине элемент массива.. PavelZet Помощь студентам 10 07.05.2009 21:06
Максимальный элемент массива j_Q Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 04.11.2008 22:48