Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

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

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

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

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

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 в 13:00.
Irisk вне форума   Ответить с цитированием
Старый 23.12.2010, 21:26   #4
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,396
Репутация: 5596
По умолчанию

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

какие опечатки?
Irisk вне форума   Ответить с цитированием
Старый 23.12.2010, 21:34   #6
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,396
Репутация: 5596
По умолчанию

Код:

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, 22:25   #7
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
Репутация: 10
По умолчанию

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

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

да не вопрос:
Код:

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, 18:24   #9
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
Репутация: 10
По умолчанию

Код:

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, 04:56   #10
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Адрес: СПб
Сообщений: 229
Репутация: 51

icq: 253885485
По умолчанию

Цитата:
Сообщение от Irisk Посмотреть сообщение
Код:

for j:=i+1 to n do a[j-1]:=a[j];
      a[n] := temp;
    end;

выдает ошибку нельзя присвоить левой части a[j-1]:=a[j];
Так и пишет?
__________________
Правильно заданный вопрос - половина ответа!
XeruH вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить элемент из массива dron-k Assembler 0 17.09.2010 17:46
первый нулевой элемент массива shelest Помощь студентам 2 15.11.2009 13:38
Удалить элемент массива pavel42 Помощь студентам 14 21.05.2009 08:52
Найти 3-ий по величине элемент массива.. PavelZet Помощь студентам 10 07.05.2009 21:06
Максимальный элемент массива j_Q Assembler 0 04.11.2008 23:48


09:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru