IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Проблема с организацией списка FIFO, C++
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 103
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


Добрый вечер. Необходимо решить следующую задачу:

Разработать алгоритм и программу. Организовать и заполнить два линейных динамических списка L1 и L2 типа FIFO, элементами которых являются целые числа, принимающие значения в диапазоне типа Integer.
Выполнить следующие действия над списками:
- удалить из списка L1 все отрицательные числа и поместить их в список L2, взяв их по модулю;
- определить включает ли список L1 список L2, если включение имеет место, то объединить эти списки в один и упорядочить по возрастанию значений элементов.
Действия выполнятся в произвольном порядке по выбору пользователя с отображением результатов преобразований. При заполнении списка и добавлении элементов выполнить анализ объема доступной динамической памяти.


Начал писать программу столкнулся с такой проблемой необходимо в функцию передать 2 значения, из другой функции т.е. у меня функция spisok_L1 которая заполняет список, и функция prosmotr, но чтобы вывести значения из памяти мне необходимо знать адрес откуда начинать, и когда заканчивать вывод. Переменная schet4ik отвечает за количество элементов в списке, эта переменная передается, но как мне передать переменную которая указывает на начало списка.




#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
int menu ()
{
char menu[5][15]={{"Dobavlenie"},{"Prosmotr"},{"Sortirovka"},{"ochistka file"},{"exit"}};
int index=0;
char ch='\0';
int i,j=0;
while (ch!=13)
{
clrscr();
for (i=0;i<=4;i++)
{
if (i==index)
textattr(70);
j=0;
while (menu[i][j]!='\0')
cprintf("%c",menu[i][j++]);
printf("\n");
textattr(07);
}
ch=getche();
if (ch=='\0') ch=getch();
if (ch==72) index--;
if (ch==80) index++;
if (index==-1) index=4;
if (index==5) index=0;
}
return index;
}

struct L1
{
int info;
struct L1 *next;
};


spisok_L1()
{
L1 *head, *p;//*tail;
int chislo=0;
char ch='\0';
int schet4ik=0;

head=new(L1);
p=head;

while (ch!='n')
{
clrscr();
cout << "Vvedite element spiska " << endl;
cin >>chislo;
cout << endl;
(*p).info=chislo;
(*p).next=new(L1);
p=(*p).next;
//tail=p;
schet4ik++;
cout << "Prodoljitb vvod? [y/n]" << endl;
ch = getche();
cout << endl;
}
clrscr();
p=head;
//while (p!=tail)
{
//printf("%d",p->info);
//p=p->next;
}
return schet4ik;
}





int prosmotr (int schet4ik)
{
L1 *p, *head;
int k=0;

p=head;
while (k!=schet4ik)
{
cout << (*p).info << endl;
p=(*p).next;
k++;
}

//for (p=head;p!=tail;p=(*p).next)
// cout << (*p).info << endl;

getche();
return 0;
}

void main ()
{
L1 *head, *p, *tail;
int index;
int m=0;
do
{
index=menu();
switch (index)
{
case 0:{
m=spisok_L1();
break;
}
case 1:{
prosmotr(m);
break;
}
case 2:{

break;
}
case 3:{

break;
}
case 4:{

exit(1);
}

}
}
while (index!=4);


getch();
}

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
ninja   Проблема с организацией списка FIFO   17.05.2010 23:55
volvo   Через двойной указатель. Вот так, например: int s…   18.05.2010 0:35
ninja   Спасибо огромное работает.   18.05.2010 21:41
ninja   Появилась еще одна проблема: когда запускаю програ…   18.05.2010 23:09
volvo   Я устал уже догадываться, тебе нужен С или С++, ты…   18.05.2010 23:54
ninja   Спасибо огромное Владимир, вообще нужно на С++, я …   19.05.2010 0:57
volvo   Вот это - больше похоже на С++, чем то, что было н…   19.05.2010 21:55
ninja   ага, у меня обычный dos-овский Turbo C++, Владимир…   20.05.2010 3:22
ninja   Добавил еще 1 функцию Sort () которая должна сорти…   20.05.2010 20:39
volvo   Зачем? Достаточно было сделать: List myList; …   20.05.2010 21:22
ninja   Отсортировать нужно следующим образом, в 1м списке…   20.05.2010 21:36
volvo   Ты постоянно что-то недоговариваешь... Ну, допусти…   20.05.2010 21:41
ninja   Извиняюсь.... Необходимо сначала разделить 1й спис…   20.05.2010 22:34
volvo   Значит, смотри что у меня получилось: Рассказыв…   21.05.2010 1:47
ninja   Владимир, тестировал сегодня программу, получились…   21.05.2010 18:58
volvo   Ну что ж, проверяем: И я вводил: Что я делал н…   21.05.2010 19:38
ninja   Вводил тоже что и Вы у меня совсем другие результа…   21.05.2010 20:03
volvo   У меня GCC, там все нормально, вечером попробую пр…   21.05.2010 21:12
ninja   Спасибо, попробовал по-другому ввел сначала положи…   21.05.2010 21:18
volvo   Ну, скачай. Как скачаешь - на GCC (и на любом друг…   22.05.2010 2:31
ninja   скачал GCC, попробовал запустить вроде работает но…   22.05.2010 4:01
volvo   Потому что функция clrscr - это "примочка…   22.05.2010 4:09
ninja   я имел ввиду синтаксис вот например private: …   22.05.2010 19:50


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.05.2024 5:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name