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

Прибавить ко всем элементам списка максимальный элемент этого списка.

31.05.2009, 14:24. Показов 2883. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прибавить ко всем элементам списка максимальный элемент этого списка.
решите пожалуйста плиииииииииииииз
0
31.05.2009, 14:24
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2009, 14:24
Ответы с готовыми решениями:

Массив: Ко всем нулевым элементам прибавить N, из всех положительных - вычесть А, ко всем отрицательным - прибавить B...
Дан массив x(10). Ко всем нулевым элементам прибавить N, из всех положительных элементов вычесть А, ко всем отрицательным элементам...

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

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

3
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
31.05.2009, 14:30 2
покажите Ваши процедуры создания, вывода, удаления списка, как список у Вас объявлен, что там в разделе type...Короче нужна вся Ваша программа на обозрение.
1
0 / 0 / 0
Регистрация: 27.05.2009
Сообщений: 6
01.06.2009, 11:20  [ТС] 3
7 ОРГАНИЗАЦИЯ СПИСКОВ

Цель работы - получить практические навыки работы с переменными ссылочного типа и динамическими переменными; освоить различные способы организации, формирования и обработки списков.

7.1 Подготовка к лабораторной работе

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

7.2 Теоретические сведения

Использование списков целесообразно в тех случаях, когда трудно или невозможно предсказать число объектов, обрабатываемых программой. В подобных ситуациях используются динамические объекты, которые создаются не заранее, а в моменты, определяемые логикой программы. Созданные элементы связываются с уже существующими объектами с помощью указателей.
Для описания элемента списка используется структура, описываемая с помощью комбинированного типа данных. Все поля элемента списка по назначению делятся на две группы:
 информационные;
 адресные.
В информационных полях помещаются те данные, ради которых и строится список. Элемент списка содержит по меньшей степени одно информационное поле. Адресные поля служат для связи элементов списка между собой. Для организации однонаправленных списков достаточно использовать одно адресное поле, для двунаправленных списков необходимо организовать связь элемента с предыдущим и последующим элементами, поэтому для этих целей понадобятся два адресных поля.
Для описания однонаправленного списка, элементы которого содержат вещественные числа, вводится тип данных ELEM, в котором поле INF – информационное, а поле NEXT – адресное.
Pascal
1
2
3
4
5
6
    TYPE
        LINK=^ELEM;
        ELEM=RECORD
             INF: REAL;
             NEXT:LINK
         END;

Если количество элементов списка известно, то список может формироваться с помощью цикла FOR, причем первый элемент создается вне этого цикла. Так как элементы списка – динамические переменные, то очередной элемент возникает при выполнении процедуры NEW. В последнем элементе списка адресное поле NEXT является пустой ссылкой NIL.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        VAR
            F,T,P:LINK;
            I,N:INTEGER;
        BEGIN
           WRITELN(‘ВВЕДИТЕ КОЛИЧЕСТВО ЭЛЕМЕНТОВ СПИСКА’);
           READLN(N);
           WRITELN(‘ВВЕДИТЕ ЭЛЕМЕНТЫ СПИСКА’);
{ФОРМИРОВАНИЕ 1-го ЭЛЕМЕНТА}
           NEW(F);
           READLN(F^.INF);
           P:=F;
           {ФОРМИРОВАНИЕ ОСТАЛЬНЫХ ЭЛЕМЕНТОВ}
             FOR I:=2 TO N DO 
                BEGIN
                  NEW(T);
                  READLN(T^.INF);
                  P^.NEXT:=T;
                  P:=T
                END;
                T^.NEXT:=NIL;

Для последующего просмотра списка текущий указатель нужно установить на начало списка T:=F, а перемещаться по списку (переходить на следующий элемент) можно, выполняя в цикле оператор T:=T^.NEXT. Например, для нахождения суммы всех элементов списка, служит следующий цикл:
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
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
TYPE
        LINK=^ELEM;
        ELEM=RECORD
             INF: CHAR;
             NEXT:LINK
         END;
VAR
    P,T,F,F1,T1,U,N,P1:LINK;
    I, N1, K: INTEGER; L:BOOLEAN;
BEGIN
    WRITELN('ВВЕДИТЕ КОЛИЧЕСТВО ЭЛЕМЕНТОВ СПИСКА');
    READLN(N1);
{формирование списка}
    NEW(F);
    P:=F;
    WRITELN ('ВВОДИТЕ СИМВОЛЫ');
    READ(P^.INF);
    FOR  I:=2 TO N1 DO
      BEGIN
       NEW(T);  READ(T^.INF);
       P^.NEXT:=T;  P:=T;
      END;
    T^.NEXT:=NIL;
    P:=F;K:=0;
{проход по списку}
    WHILE  P<>NIL DO
      BEGIN
         L:=TRUE;
{выделение слов}
         WHILE (P^.INF=' ') AND (P<>NIL)  DO P:=P^.NEXT ;
         WHILE (P^.INF<>' ') AND (P<>NIL)  DO
           BEGIN
             IF P^.INF IN ['0'..'9'] THEN L:=FALSE;
             P:=P^.NEXT ;
           END;
         IF L=FALSE  THEN  INC(K);
     END; 
{вывод списка}
   WRITELN('В ИСХОДНОМ СПИСКЕ');
   P:=F;
   WHILE P<>NIL DO
     BEGIN
        WRITE(P^.INF:2);
         P:=P^.NEXT
     END;       
   WRITELN('КОЛИЧЕСТВО СЛОВ,СОДЕРЖАЩИХ ЦИФРЫ',    );
 
 {удаление цифр в начале списка}
    P:=F;  N:=F;
    WHILE (P^.INF IN ['0'..'9']) AND (P<>NIL) DO
      BEGIN
        N:=P^.NEXT; DISPOSE(P); P:=N
      END;
{удаление цифр в середине списка}
    F:=P; N:=P; P:=P^.NEXT;
    WHILE P<>NIL DO
      BEGIN  
        IF (P^.INF IN ['0'..'9']) THEN
         BEGIN 
           N^.NEXT:=P^.NEXT; DISPOSE(P); P:=N^.NEXT; 
         END 
        ELSE 
         BEGIN
           N:=P;   P:=P^.NEXT;
         END;
       END;
{вывод списка}
   WRITELN(' СПИСОК БЕЗ ЦИФР');
   P:=F;
   WHILE P<>NIL DO
     BEGIN
        WRITE(P^.INF:2);
         P:=P^.NEXT
     END;       
 END.
0
 Аватар для lexus_ilia
3067 / 727 / 69
Регистрация: 24.09.2008
Сообщений: 1,531
01.06.2009, 20:04 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
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
Program xa;
uses
  crt;
Type
  TSpis=^PSpis;
  PSpis=record
          Data:integer;
          next:TSpis
        end;
Procedure print(spis:Tspis);
begin
  While spis<>nil do
  begin
    Write(Spis^.data, ' ');
    Spis:=Spis^.Next
  end
end;
 
var
  Spisok,FirstElem:TSpis;
  max:integer;
  key:char;
begin
  Writeln('VVedite element spiska');
  new(Spisok);
  Spisok^.Next:=nil;
  FirstElem:=Spisok;
  Readln(Spisok^.Data);
  Writeln('nrodoljiTb vvod? No=Esc');
  key:=readkey;
  While key<>#27 do
  begin
    clrscr;
    Writeln('VVedite element spiska');
    New(Spisok^.Next);
    Spisok:=Spisok^.Next;
    Spisok^.Next:=nil;
    Readln(Spisok^.Data);
    Writeln('nrodoljiTb vvod? No=Esc');
    key:=readkey
  end;
  Writeln('spisok do u3menenui');
  Print(FirstElem);
  readkey;
  Spisok:=FirstElem;
  max:=0;
  While Spisok<>nil do
  begin
    if spisok^.data>max then
      max:=Spisok^.Data;
    Spisok:=Spisok^.Next
  end;
  Spisok:=FirstElem;
  While Spisok<>nil do
  begin
    if Spisok^.data<>max then
      inc(Spisok^.Data,Max);
    Spisok:=Spisok^.Next
  end;
  Writeln;
  Writeln('Spisok posle u3meneniu');
  Print(FirstElem);
  readkey;
  Spisok:=FirstElem;
  While Spisok<>nil do
  begin
    Spisok:=Spisok^.next;
    Dispose(FirstElem);
    FirstElem:=Spisok;
  end;
end.
Написал только Ваше задание.
1
01.06.2009, 20:04
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.06.2009, 20:04
Помогаю со студенческими работами здесь

Прибавить в хвост списка такой элемент, чтобы сумма нового списка была равна S
Подскажите, пожалуйста, в чем ошибка Задание: Прибавить в хвост списка такой элемент, чтобы сумма нового списка была равна S. (defun...

Ко всем нулевым элементам массива прибавить число n, ко всем отрицательным элементам прибавить число k
Дан массив целых чисел в диапазоне от -10000 до 10000. Ко всем нулевым элементам массива прибавить число n, ко всем отрицательным элементам...

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

Дан массив вещественных чисел. Ко всем отрицательным элементам прибавить элемент с номе¬ром m1, к остальным — элемент с номером m2
34. Решить задачу в Turbo Pascal.Дан массив вещественных чисел. Ко всем отрицательным элементам прибавить элемент с номе¬ром m1, к...

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


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Отключение отслеживания файла, занесенного в .gitignore в Git
hw_wired 10.02.2025
Git помогает следить за изменениями в проекте, но иногда требуется исключить определенные файлы из системы контроля версий. Это могут быть конфигурационные файлы с локальными настройками, временные. . .
Что такое use strict в JavaScript
hw_wired 10.02.2025
Директива use strict - способ перевода JavaScript-кода в строгий режим работы, который делает язык более безопасным и предсказуемым. Она появилась в ECMAScript 5 как ответ на многочисленные проблемы,. . .
Как в jQuery проверить, что элемент скрыт
hw_wired 10.02.2025
jQuery предоставляет несколько эффективных способов определить, скрыт элемент или отображается на странице. Самый простой метод использует специальные селекторы :hidden и :visible. Селектор :hidden. . .
Как проверить (check out) ветку Git в удаленном репозитории
hw_wired 10.02.2025
Проверка удаленной ветки в Git требует понимания нескольких базовых концепций и точного выполнения определенной последовательности действий. Для начала необходимо получить актуальную информацию о. . .
chucknorris в HTML и другие обозначения цветов
hw_wired 10.02.2025
HTML, как основной язык разметки веб-страниц, прошел длинный путь развития в плане работы с цветами. На заре развития веб-технологий разработчики могли использовать только базовый набор из 16. . .
Стек и куча: отличия и назначение
hw_wired 10.02.2025
Управление памятью - ключевой элемент работы любой программы. В современных языках программирования память делится на две основные области: стек и кучу. Каждая из них обладает уникальными. . .
Комментарии в JSON
hw_wired 10.02.2025
JSON - текстовый формат обмена данными, построенный на основе синтаксиса JavaScript. Этот формат отличается простотой, читаемостью и широкой поддержкой во всех современных языках программирования. . . .
Перезаписываем локальные файлы с помощью git pull
hw_wired 10.02.2025
Git pull - незаменимая команда для синхронизации локального репозитория с удаленным. При работе над проектом в команде разработчиков часто возникает необходимость получить актуальные изменения,. . .
Оператор --> в C++
hw_wired 10.02.2025
Оператор --> (называемый "spaceship operator" или оператор космического корабля) - важное нововведение в стандарте C++20, упрощающее реализацию операций сравнения в пользовательских типах данных. . . .
Отмена git add до коммита
hw_wired 10.02.2025
Git предлагает несколько методов для отмены индексации файлов перед созданием коммита. Разработчики часто сталкиваются с ситуацией, когда нужно убрать файлы из индекса, не теряя внесенные изменения в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru