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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2010, 20:38   #1
~anutik~
 
Регистрация: 27.04.2010
Сообщений: 7
Вопрос одномерный массив

задан массив а размерности n. содержащий несколько нулевых элементов. поставить ноли в начало строки.

p.s. заранее благодарю

Последний раз редактировалось ~anutik~; 20.05.2010 в 21:26.
~anutik~ вне форума Ответить с цитированием
Старый 20.05.2010, 22:02   #2
[CODER]
Форумчанин
 
Аватар для [CODER]
 
Регистрация: 02.02.2010
Сообщений: 305
По умолчанию

Код:
z:=1;
for i:=1 to n do 
  if m[i]=0 then begin
     tmp:=m[z];
     m[z]:=m[i];
     m[i]:=tmp;
     inc(z);
  end;
Skype: CODERua

Последний раз редактировалось [CODER]; 21.05.2010 в 00:35. Причина: перепутал переменную
[CODER] вне форума Ответить с цитированием
Старый 20.05.2010, 22:18   #3
~anutik~
 
Регистрация: 27.04.2010
Сообщений: 7
По умолчанию

у меня программка такая:
если нетрудно, исправь пожалуйста:

Код:
uses crt;
var a:array[1..100] of integer;
    m,i,k:integer;
begin
Clrscr;
Write('Vvedite k: ');
Readln(k);
for i:=1 to k do
 begin
  a[i]:=random(5)-3;
  Write(a[i],'  ');
 end;
Writeln;
m:=0;
for i:=1 to k do
 if a[i]=0 then
 m:=m+1
 else
  a[i-m]:=a[i+9];
 k:=k-m;
for i:=1 to k do
 Write(a[i],'  ');
Readln;
end.

Последний раз редактировалось Stilet; 20.05.2010 в 23:09.
~anutik~ вне форума Ответить с цитированием
Старый 20.05.2010, 23:07   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Код:
uses crt;
var a:array[1..100] of integer;
i,k,z,tmp,j:integer;
begin
Clrscr;
randomize;
Write('Введите количество элементов: ');
Readln(k);
writeln('Исходный массив: ');
for i:=1 to k do
begin
a[i]:=random(5)-3;
Write(a[i],' ');
end;
Writeln;
z:=0;
for i:=1 to k do
  if a[i]=0 then
  begin
       inc(z);
     tmp:=a[i];
     for j:=i downto z+1 do
     a[j]:=a[j-1];
     a[z]:=tmp;
  end;
  writeln;
  writeln('Результирующий массив: ');
for i:=1 to k do
Write(a[i],' ');
Readln;
end.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 20.05.2010, 23:10   #5
~anutik~
 
Регистрация: 27.04.2010
Сообщений: 7
По умолчанию

inc(z);
tmp:=a[i];
можно эти 2 строчки записать как-то по другому?
(преподаватель в таком виде не принимает)
~anutik~ вне форума Ответить с цитированием
Старый 20.05.2010, 23:24   #6
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

inc(z); <=> z:=z+1;
tmp:=a[i]; а эта строчка чем вам не нравится, эта строчка означает, что вы копируйте информацию с i-го элемента массива, для того чтобы записать туда новую информацию, но при этом не потерять страрую информацию из а[i]
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 20.05.2010, 23:48   #7
~anutik~
 
Регистрация: 27.04.2010
Сообщений: 7
Радость

спасибо за пояснения!
~anutik~ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив forl Помощь студентам 3 11.05.2011 12:06
одномерный массив Алиночка))) Фриланс 12 25.01.2010 15:00
Одномерный массив! Jereme Общие вопросы C/C++ 4 15.01.2010 05:28
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40