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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2009, 00:38   #11
NamelessEndless
Ворон-мститель
Пользователь
 
Аватар для NamelessEndless
 
Регистрация: 26.05.2008
Сообщений: 24
По умолчанию

а у меня вот так..=\

scr.jpg
Бог умер. Воскрес и мстит.
NamelessEndless вне форума Ответить с цитированием
Старый 22.01.2009, 13:09   #12
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

компилил в MVS 2008

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

typedef  struct list_element {
		char inf[26];
		struct list_element *nadr;
	 } LEL;

LEL *first, *last;

LEL* NewElem(char *dani);
void DelListElem(int);
void MakeList(void);
void PrintList(void);
int  DifferentSymbols(char *); //ищет количество разных букв, возвращает его

int n=1;
char  buf[26];

void main () 
{
	LEL *list;
	int i, max=0,k;
		
	puts("\t\t.:Start of creating list:.");
	MakeList();
	list=first;
	puts("\t\t.:Creating ended:.");
	puts("\t\t .:Created list:.");
	PrintList();
	do{
	   k=DifferentSymbols(list->inf);
	   if(k > max)
	    {	
		   max=k;
	    }
	  list=list->nadr;
	}while(list!=first);
	printf("\t\t.:Max quantity of differenf symbols:.%d\n",max);
	DelListElem(max);
	puts("\t\t   .:New list:.");
	PrintList();
	getch();
}

 void MakeList () {
	LEL *help;
	  do {
	    printf("Word N%d: ",n);
	    gets(buf);
	    if(*buf=='\0') break;
		else{
		  if(last==NULL)
			  first=last=NewElem(buf);
			else {
			  help= NewElem(buf);
			  last->nadr=help;
			  last=help;
			 }
		}
	     n++;
	   } while(1);
	last->nadr=first;
}

LEL* NewElem(char *dani)
 {
	LEL *pnew;
	pnew=(LEL*)malloc(sizeof(LEL));
	strcpy(pnew->inf,dani);
	pnew->nadr=NULL;
	return pnew;
}

void PrintList(void) 
{
	 LEL* pel=first;

	   do {
	     puts(pel->inf);
	     pel=pel->nadr;
	   }while (pel!=first);

}

 int  DifferentSymbols(char * wrd){
	int i=0,kst=0,flag=0;
	char *q=wrd;
    char arr[26];
	while (*q) {
		if (strchr(arr,*q)==NULL){
			arr[i]=*q;

			kst++;
		} q++; i++;
	}

       return kst;
 }

void DelListElem (int a)
 {  
	LEL * pst=first,*pred=last;
	int i,k;
 
	do{
	   k=DifferentSymbols(pst->inf);
       if (k==a)

	   {
		   if(pst==first)
		   {
			   first=pst->nadr;
		   }
		   pred->nadr=pst->nadr;
		   delete pst;
		   break;
	   }

	   else
	   {
		   pred=pst;
		   pst=pst->nadr;
	   }
      }while(pst!=first);
}
counter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу найти ошибку(С++) Yura_n Помощь студентам 8 20.01.2009 12:36
Не могу найти ошибку. Picaso18 Паскаль, Turbo Pascal, PascalABC.NET 3 19.01.2009 17:05
Не могу найти ошибку . KVANTOM Общие вопросы Delphi 2 08.01.2009 17:15
Не могу найти ошибку! Эдуард Общие вопросы C/C++ 7 27.02.2008 16:34