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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2009, 19:47   #1
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
Сообщение Помогите исправить код в Delphi

Здраствуйте. В коде надо удалять, а не занулять числа содердащие "5". И массив "B" не из положительных чисел массива "А" а из простых чисел массива "А". Плюс начальный массив надо сдвигать, а не тот что получился после преобразований. Помогите срочно плз
Код:
program Project11;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
Titem=longint;
TDar=array of Titem;
Var
x,T1,w,p,n,k,j,i:longint;
c,A,B:Tdar;
T:Titem;
fl:boolean;
begin
  try
    { TODO -oUser -cConsole Main : Insert code here }
Begin
repeat
  writeln('Vvedite kol-vo elementov'); readln(n);
until n>0;
setLength(A,n);
i:=Low(A);
randomize;
repeat
A[i]:=random(100);
inc(i);
until i>High(A);
writeln('Massiv A');
if High(A)>=0 then
for i := Low(A) to High(A) do
  Write(A[i],' ') else
writeln('there are no elements');
writeln;
i:=Low(A);
k:=0;
repeat
begin
  inc(k);
Setlength(B,k);
B[k-1]:=A[i];
End;
inc(i);
until i>High(A);
writeln('Massiv B iz A:');
if High(b)>=0 then
 for i:=Low(B) to High(B) do
write(B[i],' ')
else
begin
write('there are no elements');
readln;
End;
writeln;


      for i:=Low(A) to High(A) do
      begin
        x := A[i];
        while (x > 0) do
        begin
          N := x mod 10;
          x := x div 10;
          if (n=5) then begin
            A[i] := 0;
            x := 0; {это чтобы выйти из цикла}
          end;
        end;
      end;

for i:=Low(B) to High(B) do
write(A[i],' ');
writeln;

  end;
  readln;
writeln('vvedite k');
readln(k);
x:=0;
p:=0;
for i:=1 to k do
begin
  T1 := A[High(A)];
        for j := High(A) downto Low(A)+1 do
           A[j] := A[j-1];
        A[Low(A)] := T1;
end;
        writeln('Massiv A posle sdviga:');
      if High(A) > 0 then
        for i := Low(A) to High(A) do
          Write(A[i], ' ');
      WriteLn;

  finally

  end;
  readln;
        end.

Последний раз редактировалось Saka; 17.12.2009 в 20:49.
Saka вне форума Ответить с цитированием
Старый 17.12.2009, 23:52   #2
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

up))) waiting for help
Saka вне форума Ответить с цитированием
Старый 18.12.2009, 00:58   #3
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

вот когда-то сдавал эту работу в университете:
Код:
(*****************************************************************************
  Дана последовательность натуральных чисел {aj}, j = 1, ..., n (n <= 1000).
  Удалить из последовательности числа, произведение цифр которых равно 144, а 
  среди оставшихся продублировать числа, содержащие цифру 8.
*****************************************************************************)

program lab14_v4;

const
  Source = 'input.txt';
  Target = 'output.txt';
  Len = 1000;

{ Возвращает TRUE если произведение цифр числа равно 144 }
function P144(X: Longint): Boolean;
var
  Prod: Longint;
begin
  Prod := 1;
  while X <> 0 do
  begin
    Prod := Prod * (X mod 10);
    X := X div 10;
  end;
  P144 := Prod = 144;
end;

{ Возвращает TRUE если число содержит цифру 8 }
function I8(X: Longint): Boolean;
begin
  I8 := False;
  while X <> 0 do
  begin
    if X mod 10 = 8 then
    begin
      I8 := True;
      Exit;
    end;
    X := X div 10;
  end;
end;

var
  I, K, N: Integer;
  a: Array[1..2 * Len] of Longint;

begin
  Assign(Input, Source);
  Reset(Input);
  Assign(Output, Target);
  Rewrite(Output);
  ReadLn(N);
  for I := 1 to N do
    Read(a[I]);
  I := 1;
  while I <= N do
  begin
    if P144(a[I]) then
    begin
      for K := I to N - 1 do
        a[K] := a[K + 1];
      Dec(N);
      Dec(I);
    end
    else if I8(a[I]) then
    begin
      Inc(N);
      for K := N downto I + 1 do
        a[K] := a[K - 1];
      Inc(I);
    end;
    Inc(I);
  end;
  for I := 1 to N do
    Write(a[I], ' ');
end.
Alex_FF вне форума Ответить с цитированием
Старый 18.12.2009, 00:59   #4
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

Цитата:
Сообщение от Saka Посмотреть сообщение
up))) waiting for help
лучше так:
waiting for sunset
Alex_FF вне форума Ответить с цитированием
Старый 18.12.2009, 18:55   #5
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

это вообще к чему. я попросил же исправить мой код в соответствии с условиями
Saka вне форума Ответить с цитированием
Старый 18.12.2009, 22:02   #6
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

up помогите плззз
Saka вне форума Ответить с цитированием
Старый 19.12.2009, 17:23   #7
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

up) где вы все
Saka вне форума Ответить с цитированием
Старый 19.12.2009, 21:44   #8
Saka
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 83
По умолчанию

Up ну помгите же, пожалуйста) срочно!
Saka вне форума Ответить с цитированием
Старый 20.12.2009, 23:28   #9
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
Смех

Цитата:
Сообщение от Saka Посмотреть сообщение
это вообще к чему. я попросил же исправить мой код в соответствии с условиями
Это к тому, как сдвигать массив влево и вправо. А с твоим кодом мне лень разбираться, там слишком много букв
Alex_FF вне форума Ответить с цитированием
Старый 21.12.2009, 02:21   #10
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

http://programmersforum.ru/showthrea...t=77126&page=2
Alex_FF вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить код lider24816 Помощь студентам 2 24.05.2009 18:12
Помогите исправить код (Delphi)! Cesmir Помощь студентам 18 30.12.2008 03:03
Помогите исправить код Grizzzli Помощь студентам 3 14.12.2008 19:26
Помогите исправить код Tanuska___:) БД в Delphi 4 07.08.2008 17:40
Помогите исправить код student_63 Помощь студентам 5 13.12.2007 18:20