1 / 1 / 0
Регистрация: 03.05.2012
Сообщений: 30
1

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

27.05.2012, 20:38. Показов 1319. Ответов 2
Метки нет (Все метки)

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

Помогите написать процедуру posl (ну или всё кроме ввода)
заранее благодарю
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
{Пусть дан список вещественных чисел. Для каждого элемента списка напе-
чатайте число отрицательных элементов, следующих за ним.}
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
type
  TPtr=^Thist;
  Thist=record
    inf:real;
    next:TPtr;
  end;
var p:TPtr;
procedure readhist (var p:TPtr);
var
  q,l:TPtr;
  x:real;
begin
  l:=nil;
  while not eoln do
    begin
      read(x);
      new(q);
      q^.inf:=x;
      q^.next:=nil;
      if p=nil
        then p:=q
        else l^.next:=q;
      l:=q;
    end;
  readln;
end;
procedure posl(var p:TPtr);
begin
 //???
end;
begin //main
  SetConsoleCP(1251);
  SetConsoleOutPutCP(1251);
  //
  readhist(p);
  posl(p);
  //здесь добавить убийцу списка
  readln;
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2012, 20:38
Ответы с готовыми решениями:

Для каждого элемента списка напечатать число отрицательных элементов, следующих за ним
Помогите пожалуйста,нужно сделать задачу,вообще не знаю как делать((( Дан список вещественных...

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

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

Для каждого элемента напечатать количество положительных и отрицательных чисел, стоящих перед ним
Для каждого элемента напечатать в отдельной строке количество положительных и отрицательных чисел,...

2
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
27.05.2012, 21:08 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Delphi
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{Пусть дан список вещественных чисел. Для каждого элемента списка напе-
чатайте число отрицательных элементов, следующих за ним.}
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  Windows;
type
  TPtr=^Thist;
  Thist=record
    inf:real;
    next:TPtr;
  end;
var p,q:TPtr;
procedure readhist (var p:TPtr);
var
  q,l:TPtr;
  x:real;
begin
  l:=nil;
  while not eoln do
    begin
      read(x);
      new(q);
      q^.inf:=x;
      q^.next:=nil;
      if p=nil
        then p:=q
        else l^.next:=q;
      l:=q;
    end;
  readln;
end;
procedure posl(var p:TPtr);
Var
  i : Integer;
begin
  //Посчитаем все отрицательные элементы списка
  i:=0;
  q:=p;
  While q<>Nil Do
  Begin
    If q^.Inf<0 Then Inc(i);
    q:=q^.next;
  End;
 
  //А теперь будем печатать...
  q:=p;
  While q<>Nil Do
  Begin
    If q^.Inf<0 Then Dec(i);
    Write(i,' ');
    q:=q^.next;
  End;
  WriteLn;
end;
 
begin //main
  SetConsoleCP(1251);
  SetConsoleOutPutCP(1251);
  //
  p:=Nil;
  readhist(p);
  posl(p);
 
  //Освобождение памяти, занятой под список
  While True Do
  Begin
    q:=p;
    If q=Nil Then Break;
    p:=p^.next;
    Dispose(q);
  End;
 
  readln;
end.
1
1 / 1 / 0
Регистрация: 03.05.2012
Сообщений: 30
27.05.2012, 21:46  [ТС] 3
спасибо огромное)
0
27.05.2012, 21:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2012, 21:46
Помогаю со студенческими работами здесь

После каждого элемента списка добавьте ту часть списка, которая была перед ним
Пусть дан список. После каждого элемента списка добавьте ту часть списка, которая была перед ним.

Подсчитать количество элементов массива, значения которых больше значений каждого из следующих за ним Count элементов
Добрый день. Недавно начал изучать Java и дали задание которое увы, я даже не понимаю как...

Для каждого массива вычислить: значение максимального элемента, количество отрицательных элементов
Заданы 4 одномерных массива A,B,C,D. Количество элементов каждого массива не превышает 60. Для...

Найти индекс элемента списка сумма которого и k следующих элементов равна заданной
Дан массив целых чисел a, a, ..., a и натуральные числа k и m. Укажите минимальное значение i, для...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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