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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2010, 10:36   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
выдает ошибку нельзя присвоить левой части a[j-1]:=a[j];
не может быть!!
Рассказывайте: Что меняли в коде?
Какой используете компилятор Паскаля?
приведите свой код полностью + скриншот ошибки...

на всякий случай вот мой код из предыдущего поста целиком (там же в архиве и EXE-шник вложен).
Вложения
Тип файла: rar hhh.rar (4.4 Кб, 8 просмотров)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.12.2010, 15:57   #12
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию

да,так и пишет:нельзя присвоить левой части
паскаль ABC. из вашего вложения запускаю,и тоже ошибка эта

Последний раз редактировалось Irisk; 25.12.2010 в 16:00.
Irisk вне форума Ответить с цитированием
Старый 25.12.2010, 16:23   #13
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
uses crt;
const n = 5;
const a: array[1..n] of integer
            = (2, 0, -5, -8, 6);
var
    i, temp, j: integer;
    f: file of integer;
begin
for i := 1 to n do
begin
     if a[i] < 0 then
     begin
         for j := i to n - 1 do
         begin
               temp = a[i];
               a[i] := a[i+1];
               temp = a[i+1];
         end;
     break;
     end;
end;
 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);
end.
А если так??
Писал с потолка
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 25.12.2010, 20:42   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Hacker19_90, с Вашим кодом будет та же самая беда..

Так. Всё понятно.
буквально пару дней назад это обсуждалось на форуме.
Проблема с типизированными константой.

Irisk, Вы ТОЧНО уверены, что Вам нужно сделать задание в Pascal ABC ?!
если да, тогда массив, заданный типизированной константой перепишите в обычный VAR массив.
Ваш Паскаль считает, раз написали слово CONST - значит это константа и изменять её НЕЛЬЗЯ! Без вариантов!

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

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

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

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

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


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

скажите еще пожалуйста,как сделать,чтобы типизированный файл был закодированным?
Irisk вне форума Ответить с цитированием
Старый 26.12.2010, 19:52   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да он итак как бы не удобочитаемый должен быть...
Зачем его еще кодировать то? Попробуй его в блокноте открой - увидишь кракозяблики.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.12.2010, 20:50   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
скажите еще пожалуйста,как сделать,чтобы типизированный файл был закодированным?
Цитата:
Сообщение от Stilet
не удобочитаемый должен быть...
Зачем его еще кодировать то?
Присоединяюсь к мнению Виталия!

Впрочем. Простейшее кодирование - XOR с ключиком.
Для простоты можно все элементы файла кодировать ОДНИМ и тем же ключом. Это будет и просто и задачу поставленную решит...

Код:
{зададим ключ шифрования (любая константа, отличная от нуля и в рамках Integer)}
const KlKey : integer = $32417345;

var
  XCoded : integer;

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

Последний раз редактировалось Serge_Bliznykov; 26.12.2010 в 20:54.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.12.2010, 17:35   #18
Irisk
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 19
По умолчанию

Всем большое спасибо!!!!!))))
Irisk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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