Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 7

Нужно из массива удалить все положительные элементы после первого отрицательного

15.10.2014, 16:26. Показов 3333. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста, всю голову сломал. Нужно из массива удалить все положительные элементы после первого отрицательного. У меня получается удалить элементы после первого отрицательного, но элементы до него пропадают.

Добавлено через 19 часов 34 минуты
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
sr:=0;
 notr:=0;
 max:=-1e308;
 m:=0;
 writeln('Лабораторная работа 2');
{задание 1}
 writeln('Задание 1');
{ввод исходных данных для задания 1}
goback:
 writeln('Введите длину массива R от 1 до ',k1);
   read(n);
  if n<=0 then begin
    writeln ('Нет массива');
    goto goback; 
     readln; 
      end; 
 writeln('Введите x ');
   readln(x);
 writeln('Введите h ');
   readln(h);
 writeln('Введите a ');
   readln(a);
 
  for i:=1 to n do
begin
R[i]:=cos(i*h)-cos(a*x+i*h);
end;
 
{вывод результата задания 1}
writeln('Получившийся массив');
for i:=1 to n do begin
   writeln(r[i]:3:2);
   end;


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
writeln('задание 2');
   for i:=1 to n do begin
    if notr=0 then
     if r[i]<0 then
      notr:=i;
   end;
      for i:=notr to n do 
       if r[i]<0 then begin
        m:=m+1;
        r[m]:=r[i];
        end; 
        k:=m;
        for m:=1 to k do 
         writeln(r[m]:3:2);
вот моя программа
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2014, 16:26
Ответы с готовыми решениями:

Положительные элементы после первого отрицательного элемента массива увеличить на модуль суммы отрицательных
Ввести одномерный массив A , вывести его. Найти номер первого отрицательного элемента. Все положительные элементы, следующие за первым...

Удалить из массива все положительные элементы, расположенные до последнего отрицательного элемента
Прошу Вашей помощи. Задача: удалить из массива все положительные элементы, расположенные до последнего отрицательного элемента. У...

Заменить все элементы массива, стоящие до первого отрицательного и после второго, на нули.
Дан массив f1, ... , f17. В массиве есть только два отрицательных элемента. Заменить все элементы, стоящие до первого отрицательного и...

4
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 7
19.10.2014, 22:30  [ТС]
ап.
0
охотник
 Аватар для vint-81
1011 / 535 / 650
Регистрация: 29.09.2014
Сообщений: 1,083
20.10.2014, 10:46
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
const n=10;
var a:array[1..n] of integer;
    i,j:integer;
begin
 randomize;
 for i:=1 to n do
  begin;
   a[i]:=-5+random(11);
   write(a[i],' ');
  end;
 
 i:=1;
 while (a[i]>=0)and(i<=n) do inc(i);
 if i<n
  then
   begin
    j:=i+1;
    while j<=n do
      begin
       a[j]:=0;
       inc(j)
      end;
   end
  else i:=n;
 writeln;
 for j:=1 to i do write(a[j],' ');
 readln
end.
0
0 / 0 / 0
Регистрация: 14.10.2014
Сообщений: 7
23.10.2014, 00:29  [ТС]
Ваша программа удаляет все элементы после 1го отрицательного, а требуется удалить только положительные элементы после 1го отрицательного
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
23.10.2014, 01:34
Лучший ответ Сообщение было отмечено Seregawe как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const nn=10;
var
  r: array [1..nn] of Integer;
  i, j, n: Integer;
begin
  Randomize; n:=nn;
  for j:=1 to n do r[j]:=-5+Random(11);
  for j:=1 to n do Write(r[j]:3); WriteLn;
  i:=1; while (i<=n) and (r[i]>=0) do Inc(i); Inc(i);
  for j:=i to n do
    if r[j]<=0 then begin
      if j>i then r[i]:=r[j]; Inc(i);
    end else Dec(n);
  for j:=1 to n do Write(r[j]:3); WriteLn;
end.
Собственно поиск первого отрицательного и удаление последующих положительных -- строки 9-13.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.10.2014, 01:34
Помогаю со студенческими работами здесь

Сформировать одномерный массив, элементами которого являются все положительные элементы исходного массива, расположенные после его 1-го отрицательного
Дан массив X(N,M). Найти первый отрицательный элемент при построчном просмотре. Сформировать одномерный массив, элементами которого...

если массив не является знакочередующимся,то удалить из массива все положительные числа,в противном случае-удалить отрицательные элементы.после удален
задан массив Х целых чисел. если массив не является знакочередующимся,то удалить из массива все положительные числа,в противном...

Удалить все положительные элементы, имеющие четный порядковый номер, идущие после минимального элемента массива.
Задание. Выполнить действия над одномерным массивом. Удалить все положительные элементы, имеющие четный порядковый номер, идущие после...

В массиве A=(a1, а2, ., an) удалить все положительные элементы, имеющие четный порядковый номер, идущие после минимального элемента массива
В массиве A=(a1, а2, ..., an) удалить все положительные элементы, имеющие четный порядковый номер, идущие после минимального элемента...

Массив. Удалить все положительные элементы, имеющие четный порядковый номер, идущие после минимального элемента массива
11. В массиве A=(a1, а2, ..., аn) удалить все положительные элементы, имеющие четный порядковый номер, идущие после минимального элемента...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru