• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Сжатие массива

Serega61

Ученик
Регистрация
23 Дек 2012
Сообщения
5
Реакции
0
Баллы
0
Сжатие массива

Дан массив x(n). Переписать в массив y(n) элементы массива x, большие 3. pascal ABC. Как убрать нули во втором массиве?

program lab9_3;
const n=10;
var a: array[1..n] of real;
b: array[1..n] of real;
i,kol: integer;
begin
randomize;
for i:=1 to n do
begin
a:=random(100)-50;
writeln('a=', a);
end;
kol:=1;
for i:=1 to n do
begin
if a>3 then
b[kol]:=a;
kol:=kol+1;
writeln('b=',b);
end;
end.


Результат:
a=-38
a=9
a=48
a=34
a=-9
a=30
a=22
a=23
a=29
a=35
b=0
b=9
b=48
b=34
b=0
b=30
b=22
b=23
b=29
b=35
 
Кроме оператора then, есть ещё и else ;)
Вы просто обходите случай, когда число в первом массиве меньше трёх.
program lab9_3;
const n=10;
var a: array[1..n] of real;
b: array[1..n] of real;
i,kol: integer;
begin
randomize;
for i:=1 to n do
begin
a:=random(100)-50;
writeln('a=', a);
end;
kol:=1;
for i:=1 to n do
begin
if a>3 then begin
b[kol]:=a;
writeln('b[kol]=',b[kol]);
kol:=kol+1;
end;
else rem;
end;
end.
К сожалению Паскаля под руками нет, да и голова ещё не просохла со вчерашнего, так что проверить сейчас не могу ;)
В разных версиях компиляторов результаты могут быть разными.
И, пожалуйста, выбирайте раздел для создания темы. Переношу...
P.S. Формулируйте задачи точнее.
 
Спасибо, помогло, все работает!
 
Назад
Сверху