Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2008, 22:15   #11
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

2NjaalkemeBit
Вполне такой код, похвально.
2zven_
А что тебе собственно, в данном коде не нравиться? Если не катит getchar(), пиши getch(). Вторая функция - удел компиляторов от борланда.
MaTBeu вне форума Ответить с цитированием
Старый 20.10.2008, 23:52   #12
zven_
Пользователь
 
Регистрация: 16.10.2008
Сообщений: 18
По умолчанию

getch() тоже не катит... все равно такая же ошибка(

чем мне не нравится, потому что большой код.. препод заметит что это не я делал.. а если возьму скажем пример с vvvippperrr то что он говорил типа сменить имя на чар и немного поменять функцию... а у меня дело это не доходит поменять саму функцию которую выложил vvvippperrr void DeleteItems

Последний раз редактировалось zven_; 20.10.2008 в 23:56.
zven_ вне форума Ответить с цитированием
Старый 21.10.2008, 19:59   #13
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Тебе функцию не надо менять. Эта функция удаляет элемент, а тебе надо вставить элемент после элемента с заданным информационным полем. Это, если ты не заметил, разные вещи. Бери просто код vvviperrr'а и добавляй функцию из кода NjaalkemeBit'a. Тебе может рассказать как и ЭТО делается?

А вместо getch(), напиши system("PAUSE"); верняк способ.
MaTBeu вне форума Ответить с цитированием
Старый 21.10.2008, 23:53   #14
NjaalkemeBit
Пользователь
 
Регистрация: 19.10.2008
Сообщений: 32
Смех

2MaTBeu
пасибки...рад старатся...))

Цитата:
Сообщение от zven_ Посмотреть сообщение
о_О ужс.... длинный код.... спасибо большое конечно, но там всего ошибка одна всего лишь.. "lab3_test5.cpp(158) : error C2065: 'getchar' : undeclared identifier"
..

мне б попроще код программы нужен... длинный код препод не примет лабораторку...будет задавать кучу вопросов...и... скажет не прально все это...
преподу своему скажи что ён ПИДАГОГ НАСТОЯЩИЙ!
прога робит чего яму еще надо...???!!!
вот те обнова теперь вдоль и поперек добавка... взалка с идексом счетчик....преподъ твой плакаль...)) ну прикинься вумным...чтоль)) чесно гря я незнаю...
Вложения
Тип файла: txt CharListOneWay.txt (5.3 Кб, 165 просмотров)
NjaalkemeBit вне форума Ответить с цитированием
Старый 23.10.2008, 14:12   #15
zven_
Пользователь
 
Регистрация: 16.10.2008
Сообщений: 18
По умолчанию

не сдал( заметил что это я не написал....( и сказал типа надо покороче код типа на 1 страничку...
zven_ вне форума Ответить с цитированием
Старый 24.10.2008, 11:05   #16
Кисулька
Новичок
Джуниор
 
Аватар для Кисулька
 
Регистрация: 22.10.2008
Сообщений: 2
По умолчанию

Нужна курсовая по С++ Builder. Работа с однонаправленным линейным списком+ещё очень много заморочек, типа алгоритма Фурье. Кто готов помочь, напишите, пожалуйста. Аська: 479-092-754
Кисулька вне форума Ответить с цитированием
Старый 24.10.2008, 13:05   #17
NjaalkemeBit
Пользователь
 
Регистрация: 19.10.2008
Сообщений: 32
Смех

Цитата:
Сообщение от zven_ Посмотреть сообщение
не сдал( заметил что это я не написал....( и сказал типа надо покороче код типа на 1 страничку...
...по характерному подчерку видать)))
ну вот поробуй етот... на основе кода vvviperrr'a + функция добавки...вся в коментах... буш преподу объяснять с умным видом че где...

Код:

#include <stdio.h>
#include <iostream.h>

struct ELEM {
	char* value;
	ELEM *pNext;
}*head;

void AddItem(char* m_val)
{
	ELEM *pElem = new ELEM;
	pElem->value = m_val;
	pElem->pNext = head;
	head = pElem;
}

void PrintList()
{
	ELEM *elem = head;
	while (elem) 
	{
		printf("%s\n", elem->value);
		elem = elem->pNext;
	}
}

void AddAfter(char* FromNow, char* NewChar)
{
  if (NewChar && FromNow) //а есть ли смысл? есть ли кто и есть ли куда...
  {
    ELEM* nue=head; //начнём (с тавтологии) с начала...

    //ищем от куда вставлять...
    while(nue->pNext) //будем надеятся что недолго...
    {
    	if (!strcmp(nue->value,FromNow)) //ух, ты! да ониж как одно%йцевые...
    		break; //надеюсь нашли...
    	else
    		nue=nue->pNext; //нет, еще нет... дальше...
    }

    ELEM* new_elem=new ELEM; //для новичка найдем местечко...

    new_elem->value=NewChar; //а завать новенького...

    new_elem->pNext = nue->pNext;
    nue->pNext = new_elem;
  }
}

int main()
{

  AddItem("Pasha");
  AddItem("Galya");
  AddItem("Kolya");
  AddItem("Olga");
  AddItem("Vera");
  AddItem("Sasha");

  AddAfter("Olga","Vasya");

  PrintList();

  system("Pause");

	return 0;
}
NjaalkemeBit вне форума Ответить с цитированием
Старый 24.10.2008, 15:36   #18
zven_
Пользователь
 
Регистрация: 16.10.2008
Сообщений: 18
По умолчанию

спасибо большое.
но выскачило две ошибки, но я их устранил
1. убрал system("Pause"); написал getchar();
2. выскакивала ошибка, что не найдена переменная strcmp поломал мозг минуты 2-3, поставил в начале программы #include <string.h>
заработала программа, разобрался вобщем...а про двунаправленные списки там что то с random и randomize не запускается, но это надо обсудить в другой теме...

Последний раз редактировалось zven_; 24.10.2008 в 15:38.
zven_ вне форума Ответить с цитированием
Старый 27.11.2009, 13:16   #19
Wolverines
Новичок
Джуниор
 
Регистрация: 27.11.2009
Сообщений: 1
По умолчанию

Цитата:
Сообщение от vvviperrr Посмотреть сообщение
я сегодня почему то очень добрый, решил тебе сделать полностью. На самом деле у меня эта лаба была по сям на втором курсе, я ее нагло списал надо восстановить справедливость)

Код:
void DeleteItems()
{
	ELEM *elem = head;
	ELEM *prev = NULL;

	while (elem) 
	{
		if (elem->value % 2 == 0)
		{
			if (prev)
			{
				prev->pNext = elem->pNext;
				elem = elem->pNext;
				continue;
			}
			else
				head = elem->pNext;
		}
		prev = elem;
		elem = elem->pNext;
	}
}
Код:
else
head = elem->pNext;
надо заменить на

Код:
else{
      head = elem->next;
      elem = elem->next;
     continue;
}
так как если условию if (elem->value % 2 == 0) будет соответствовать не только первый элемент, а и второй, то работать будет криво
Wolverines вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На списки... Neznau Паскаль, Turbo Pascal, PascalABC.NET 1 02.07.2008 19:49
Списки Вилен Общие вопросы C/C++ 3 22.05.2008 00:40
списки Влдислаав3911 Паскаль, Turbo Pascal, PascalABC.NET 5 10.05.2008 17:35
Списки AVer Паскаль, Turbo Pascal, PascalABC.NET 6 06.12.2006 23:05