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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2011, 18:23   #1
Ксюха21
 
Регистрация: 21.02.2011
Сообщений: 4
Восклицание СПИСКИ. СИ

Добрый день помогите, пожалуйста, найти ошибку:

Код:
#include <stdio.h>
#include <stdlib.h>

typedef struct list {int el; 
struct list *next;} 
list;

void print_list (list*);

list* make_lst (int n)
{
	
	list *p;
	list *head, *new_p;
	new_p = (list*) malloc (sizeof (list));
	for (int i=1; i<=n; i++)
	{
		
		
		scanf ("%d", &new_p ->el);
		new_p->next = NULL;
		if (!head) 
			head = new_p;
		else 
			p = new_p;
	}
	return head;
}
void print_list (list *head)
{
	printf ("{");
	for (int i=0; !head; i++)
	{
		printf ("%d, \n", head->el);
		
		
	}
printf ("}");
}
int main ()
{
	list *new_list;
	int n;
	printf ("Скільки елементів буде в множині?\n");
	scanf ("%d", &n);
	printf ("Ввести множину з %d елементив\n", n);
	print_list (make_lst(n));
	return 0;
}
Я ввожу список, потом скобки, внутри которых должно быть множество появляются, а само множество нет. И не могу понять ошиблась ли я в ф-и где делаю список или в ф-и где вывожу...
помогите найти ошибку
Ксюха21 вне форума Ответить с цитированием
Старый 27.06.2011, 13:38   #2
Biggs
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 74
По умолчанию

Присваивание n нету
list* make_lst (int n)
Biggs вне форума Ответить с цитированием
Старый 27.06.2011, 14:06   #3
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от Biggs Посмотреть сообщение
Присваивание n нету
list* make_lst (int n)
n -- параметр, который передается в функцию из main(), где он запрашивается и вводится с клавиатуры.

Цитата:
Код:
void print_list (list *head)
{
	printf ("{");
	for (int i=0; !head; i++)
	{
		printf ("%d, \n", head->el);
		
		
	}
printf ("}");
}
цикл по i, а индекс внутри цикла не используется.
что-то тут не так...
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062

Последний раз редактировалось Mandrivnyk; 27.06.2011 в 14:09.
Mandrivnyk вне форума Ответить с цитированием
Старый 27.06.2011, 15:29   #4
Biggs
Пользователь
 
Регистрация: 15.07.2010
Сообщений: 74
По умолчанию

Цитата:
цикл по i, а индекс внутри цикла не используется.
что-то тут не так..
Вообще то я и имел ввиду что не присваивается элементу списка значение
lol
n- здесь действительно не причем
Biggs вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Списки kapriz5 Паскаль, Turbo Pascal, PascalABC.NET 3 19.02.2012 09:41
списки FSAS Помощь студентам 0 25.06.2011 09:56
Списки. Corpinccom Помощь студентам 2 12.10.2010 21:54
Списки [MI_nor] Общие вопросы C/C++ 8 27.04.2009 06:56