Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Нужна помощь по С++ (перевести из паскаля) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где можно посмотреть функции подключаемых директив? http://www.cyberforum.ru/cpp-beginners/thread35253.html
Здравствуйте. Где можно посмотреть функции подключаемых директив? Спасибо.
C++ описание long double в С Подскажите как правильно ввести переменнуя типа long double в языке С integer-------------%d float----------------%f double ------------%lf long double------? http://www.cyberforum.ru/cpp-beginners/thread35249.html
Структуры заменить на классы C++
Дана программа, выдающая список дамской обуви и ассортимент обуви нужного артикула. Сведения берутся из файла "READ.DAT" Код программы: #include<fstream.h> #include<string.h>...
Создание процесса с индивидуальными настройками C++
Всем привет! Есть такая задача: Заставьте консольный процесс запустить несколько своих копий (и далее рекурсивно). Убедитесь, что порождение процессов не будет бесконечным (остановитесь на 4 уровнях...
C++ Cортировка одном. динамического массива http://www.cyberforum.ru/cpp-beginners/thread35205.html
Помогите суденту ! Напишите позалуста код сортировки ! Задача : Произвести сортировку положительных элементов массива по возрастанию (при этом отричательные и нулевые элементы оставить на своих...
C++ Подскажите как описать функцию Задали такую задачку: Описать функцию, Lines(t), которая построчно печатает содержимое непустого текстового файла t, вставляя в начало каждой печатаемой строки её порядковый номер (он должен... подробнее

Показать сообщение отдельно
Aivengo1677
0 / 0 / 0
Регистрация: 20.05.2009
Сообщений: 5

Нужна помощь по С++ (перевести из паскаля) - C++

20.05.2009, 12:54. Просмотров 739. Ответов 9
Метки (Все метки)

Срочно нужна помощь по задаче: "составить программу, которая вставляет в список L новый элемент F за каждым вхождением элемента E.
На паскале выглядит примерно так, но мне нужно на С++, а я понятия не имею как там Type определяется и типизированные ^типы, тип record...:
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
76
77
78
uses crt;
type {список целых чисел}
 PSpisok = ^TSpisok;
 TSpisok = record
  Inf: integer; {целое число}
  Next: PSpisok; {указатель на следующий элемент}
 end;
var
 h: PSpisok; {первый элемент списка}
 L: PSpisok; {список}
 x: PSpisok; {последний элемент списка}
 t: PSpisok; {используется при добавлении элемента в список}
 i,n,e,f:integer;
begin
 clrscr;
 write('Введите кол-во элементов списка, N='); readln(n);
 randomize;
 {создаем первый элемент списка}
 New(L); {Выделяем память }
 L^.Next:=nil; {так как второго элемента нет, указатель на слудующий элемент делаем пустым}
 L^.Inf:=random(50)-25; {присваиваем случайное число}
 h:=L;{запоминаем первый элемент}
 x:=L;{запоминаем последний элемент}
{создаем и заполняем следующие жлементы списка( до N)}
 for i:=2 to n do
  begin
   New(L^.Next); {выделяем память для следующего элемента списка}
   L:=L^.Next; {переходим к следущему элементу списка}
   {заполняем}
   L^.Next:=nil; 
   L^.Inf:=random(50)-25;
   x:=L; {запоминаем последний элемент списка}
  end;
{выводим элементы списка на экран}  
 L:=h; {переходим к первому элементу списка}
 while L^.Next<>nil do {пока указатель на следующий элемент не равен 0, т.е. следующий элемент не существует }
  begin
   write(L^.Inf:4); {выводим значение}
   L:=L^.Next; {перемещаемся к следующему элементу}
  end;
 write(L^.Inf:4); {выводим последний элемент списка}
 writeln;
 write('E='); readln(e); {ввод е - целое число}
 write('F='); readln(f); {ввод f - целое число}
 L:=h; {переходим к первому элементу списка}
  while L^.Next<>nil do {перемещаемся до предпоследнего элемента списка}
   begin
    if (L^.Inf = e) {текущий элемент равен е и последующий элемент не равен е}
     then
      begin
        t:=L^.Next; {запоминаем указатель на следующий элемент}
        New(L^.Next); {выделяем память для нового  элемента списка}
        L:=L^.Next; {переходим к следущему (новому) элементу списка}
        L^.Inf:=f;
        L^.Next:=t; {связываем список}
      end;
    L:=L^.Next; {переходим к следующему элементу списка}
   end;
 {дополнительно проверяем последний элемент списка, если он равен е, то добавляем элемент f в конец списка}
    if (L^.Inf = e) {текущий элемент равен е}
     then
      begin
        New(L^.Next); {выделяем память для нового  элемента списка}
        L:=L^.Next; {переходим к следущему (новому) элементу списка}
        L^.Inf:=f;
        L^.Next:=nil; {связываем список}
      end;
 {выводим элементы списка на экран}
 L:=h;
 while L^.Next<>nil do
  begin
   write(L^.Inf:4);
   L:=L^.Next;
  end;
 write(L^.Inf:4);
{освобождаем память}
 Dispose(L);
end
.
end.

Помогите кто может, очень прошу!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru