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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2011, 21:57   #1
kaffein
 
Регистрация: 22.11.2010
Сообщений: 6
По умолчанию проверте коректность проги (списки)

1. очистить список
2.добавить елементи в конец списка
3.получить указатель на и-тий елемент списка
4. перестановка местами елементов списка
5.вставить елемент в список перед вызначеным елементом
6. печать елементов списка на екран
вот код- ошибок нет, но она не работает так как нужно
помогите.


Код:
#include "stdafx.h"
#include <time.h> 
#include "stdio.h"
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
 
		struct list
		{
            char name [20];
            char secondname[20];
			list* next;
			list* prev;
        };
list *clear( list*h )
{
	if(!h) return NULL;
	list*n;
	for(n=h->next;n;n=n->next )
	{
		if(h) free(h);
			h=n;
	}
	if(h) free (h);
	return 0;
}

list* dod(list* first)
		{
			list* nov;
			nov = (list*) malloc(sizeof(list));
			if(!nov){
				printf("can not allocate memory");
				return NULL;
			}
			printf("vvedid dannue");
			scanf("%s,%s",&(nov->name),&(nov->secondname));
			nov->next=first;
			first=nov;
			return first;
		}
list* poc( list* head, int num )
		{
			if (!head)
				return NULL;
			list*n = head;
			for( int i=1; (i<num) && (n->next); i++, n=n->next);
			return n;
        }
list* per(list*p)
{   list*n=p;
	if(p->next)p->next=p->prev;
	n->prev=n->next;
	return p;
}
list* dob(list*vuz_el)
{
	list* n;
	n=(list*) malloc(sizeof(list));

if(!vuz_el) return n;

if(vuz_el->next) 
	n->next=vuz_el->next;
vuz_el->next=n;
return n;
}
void print(list* first)
{
	list*wwe;
	wwe=first;
    while(wwe)
	{
		printf("%s,%s\n",wwe->name,wwe->secondname);
		wwe=wwe->next;
	
	}


}
void fill_list(list*p)
{
	for( ;p;p=p->next)
	{
		printf(" enter name of student\n");
			scanf("%s",&(p->name));

		printf("enter secondname of student\n");
			scanf("%s",&(p->secondname));
		
	}
}
list *AddL(list *p)
{
list *n = new list;
memset( n, 0, sizeof(list) );
if(!p) return n;

n->next = p->next;
n->prev = p;
p->next = n;

return n;
}

	
int main ()


{    
	int q;		
	printf("vvedit kilkist student\n");
	scanf("%d",&q);

	list *head, *tail;
	head = AddL(NULL);
	tail = AddL(AddL( head ));

	for(list*p=head;q>1;q--)
		p=AddL(p);



	for(list*p = head; p; p = p->next)
		fill_list(p);
	
	list fx;
    list* o=poc( head, 2 );
	list* z=dob(&fx);
	list* r=dod(&fx);
	list* s=per(&fx);


	list* p=clear(&fx);
	print(head);
        
        int n, i, k,sum=0;
        printf("vvedit rozmir masuva\n");
		scanf("%d",&n);
        int *a=new int [n];
                srand(time(NULL));
        for (i=0; i<n; i++)
               a[i]=rand()%20; //заполнение массива случайными числами от 0 до 19
      
        for (k=0; k<n; k++)
                sum+=a[k];
				printf("sum=%i",sum);   
		delete [] a;
        return sum;

}

Последний раз редактировалось ACE Valery; 01.03.2011 в 02:34.
kaffein вне форума Ответить с цитированием
Старый 27.02.2011, 22:47   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

оно работает?
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 28.02.2011, 17:10   #3
kaffein
 
Регистрация: 22.11.2010
Сообщений: 6
По умолчанию

компилируется )))
мне кажется, что я не правельно список создал, и не могу ввести то количество студентов, какое мне нужно, объясните пожалуйста как это правильно сделать
kaffein вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверте программный код. St.Jimmy Помощь студентам 1 19.01.2011 20:57
Проверте,где ошибка? 1da Помощь студентам 0 25.12.2009 20:30
Проверте правильность кода (деревья) Chudo4258 Помощь студентам 0 04.05.2009 21:24
Проверте пожайлуста написания програмы АлександрFRONT Паскаль, Turbo Pascal, PascalABC.NET 5 09.12.2008 08:27
Проверте сайт niva622 HTML и CSS 10 23.08.2007 18:26