Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 13
1

сделать новый масив из старого по условию

14.04.2011, 08:19. Показов 921. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите в чём суть задания. И как это реализовать? Хотяб условие...

Дан массив целых чисел. Если в данном массиве ни одно четное число не расположено после нечетного, то получить новый массив содержащий все отрицательные члены данного массива, иначе все положительные. Порядок следования чисел в обоих случаях заменяется на обратный.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2011, 08:19
Ответы с готовыми решениями:

Как из старого игрового ПК сделать новый ПК в два шага и с бюджетом по 55К каждый?
Имеющееся железо: Ultimate Intel i7-6700 3.4GHz B150M PRO-VDH S1151 16Gb DDR4-2133MHz HDD +...

Подскажите! Нужно сайт(контент) перекинуть со старого домена на новый. В какой программе сделать?
Помогите, подскажите, в какой лучше программе сохранить на комп. дизайн (контент) сайта и затем...

Дано одновимірний масив, розміром 10 елементів. Заповнити масив значеннями з клавіатури та виведіть масив на екран в прямому та зворотньому порядку.
1.Дано одновимірний масив, розміром 10 елементів. Заповнити масив значеннями з клавіатури та...

Замена старого SSD на новый
Добрый вечер, будьте добры помочь, хочу обновить текущий SSD 128 гб, на новый SSD от 200 гб. По...

4
К.О.
534 / 499 / 344
Регистрация: 26.03.2011
Сообщений: 1,141
14.04.2011, 16:12 2
Индусский код, но пофиг:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
var
   a,b: array[1..100] of integer;
   i,j,n,m,x: integer;
   f,r: boolean;
begin
   readln(n); 
   f:=true; //ни одно четное число не расположено после нечетного
   for i:=1 to n do readln(a[i]);
   for i:=2 to n do
      if odd(a[i])=false then
         begin
            r:=true; //указывает на то, что в массиве есть хотя бы 1 четный элемент
            if odd(a[i-1])=true then
               begin
                  f:=false; //предыдущий четному - нечетный
                  break; //выход из цикла
               end;
         end;
   x:=n;
   if f or r then
      begin
         for i:=1 to n do 
            if a[i]<0 then inc(m); //подсчитываем отрицательные элементы
         for j:=1 to m do
         for i:=x downto 1 do
            if a[i]<0 then
               begin
                  b[j]:=a[i];
                  x:=i-1; //чтобы в дальнейшем цикл i начинался со следующего элемента
                  break;
               end;
      end
      else
      begin
         for i:=1 to n do
            if a[i]>0 then inc(m); //подсчитываем положительные элементы
         for j:=1 to m do
         for i:=x downto 1 do
            if a[i]>0 then
               begin
                  b[j]:=a[i];
                  x:=i-1;
                  break;
               end;
      end;
   writeln;
   for i:=1 to m do write(b[i],' ');
   readln;
end.
1
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 13
19.04.2011, 09:18  [ТС] 3
Индусский оно конечно вероятно, но помимо всего прочего, нерабочий...(((

Добавлено через 20 часов 41 минуту
Я немного попыталась его русифицировать))) Но всё равно не могу понять где здесь ошибка???

Program Noviy;
Uses crt;
Var
a,b:array[1..100] of integer;
i,j,n,m,x:integer;
f,r:boolean;
Begin
clrscr;
writeln('Введите количество элементов массива ');
readln(n);
f:=true;
for i:=1 to n do
begin
writeln('Введите ',i,' элемент массива ');
readln(a[i]);
end;
for i:=1 to n do
for i:=2 to n do
if odd(a[i])=false then
begin
r:=true;
if odd(a[i-1])=true then
begin
f:=false;
break;
end;
end;
x:=n;
if f or r then
begin
for i:=1 to n do
begin
if a[i]<0 then
inc(m);
end;
for j:=1 to m do
for i:=x downto 1 do
if a[i]<0 then
begin
b[i]:=a[i];
x:=i-1;
break;
end;
end
else
begin
for i:=1 to n do
if a[i]>0 then
inc(m);
for j:=1 to m do
for i:=x downto 1 do
if a[i]>0 then
begin
b[j]:=a[i];
x:=i-1;
break;
end;
end;
writeln;
for i:=1 to m do
begin
writeln('Получен массив:');
write(b[i],' ');
end;
readln;

end.
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
19.04.2011, 16:51 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Uses
 Crt;
Var
 i,m,kol:integer;
 t:boolean;
 a,b:array[1..100] of integer;
begin
clrscr;
 readln(m);
 t:=false;
 for i:=1 to m do
 begin
  write('a[',i,']:=');
  readln(a[i]);
 end;
writeln;
for i:=1 to m-1 do
if odd(a[i]) and not odd(a[i+1]) then
begin
 t:=true;
 break;
end;
kol:=0;
if not(t) then
begin
for i:=m downto 1 do
if a[i]<0 then
begin
 inc(kol);
 b[kol]:=a[i];
end;
end
else
begin
for i:=m downto 1 do
if a[i]>0 then
begin
 inc(kol);
 b[kol]:=a[i];
end;
end;
for i:=1 to kol do
  write(b[i]:4);
writeln;
readln
end.
1
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 13
22.04.2011, 17:55  [ТС] 5
Спасибо огромное!!!
0
22.04.2011, 17:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2011, 17:55
Помогаю со студенческими работами здесь

Перенос контента со старого на новый
Привет всем! Есть старый сайт который пошел по пути наибольшего сопротивления - по воле заказчика и...

Изменение старого пароля на новый
Доброго времени суток друзья!) Помогите исправить вот такую ошибку. При нажатии на кнопку...

Со старого жд слить все на новый
Доброго времени всем!!! есть 2 жестких Seagate 500Gb один накрывается, а второй новый..и еще прога...

Получить новый массив из старого
Даны массивы X(1:m), Y(1:m). Получить новый массив Z(1:m) Z=X+Y, если X*Y больше равно 0...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru