⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 show.c

📁 Solaris环境下的数据挖掘算法:birch聚类算法。该算法适用于对大量数据的挖掘。
💻 C
字号:
/*  ========================================================================  DEVise Data Visualization Software  (c) Copyright 1992-1996  By the DEVise Development Group  Madison, Wisconsin  All Rights Reserved.  ========================================================================  Under no circumstances is this software to be copied, distributed,  or altered in any way without prior permission from the DEVise  Development Group.*//*  Program to "show" a DEVise/TData file (a file containing data and the  relevant schema(s). *//*  $Id: show.c,v 1.1 1996/06/17 20:01:09 wenger Exp $  $Log: show.c,v $  Revision 1.1  1996/06/17 20:01:09  wenger  First version of 'show' program for dumping projections to stdout. */#include <stdio.h>#include <sys/types.h>#include <unistd.h>#include "AttrProj.h"#include "ApInit.h"/*------------------------------------------------------------------------------ * function: main * Main function for the show program. */intmain(	int		argc,	char **	argv){													/* start main */	int			attrCount = 0;	const int	maxAttrs = 128;	char *		attrList[maxAttrs];	char *		dataFile = NULL;	char *		projectionFile = NULL;	int			result = 0;	char *		schemaFile = NULL;	/* Parse the command line arguments. */	{		extern char *optarg;		extern int	opterr;		extern int	optind;		int			option;		Boolean		printUsage = false;		while ((option = getopt(argc, argv, "a:f:u")) != -1)		{			switch (option)			{			case 'a':				if (attrCount >= maxAttrs)				{					fprintf(stderr,						"Too many attributes specified; maxiumum is %d\n",						maxAttrs);					result = 2;				}				else				{					attrList[attrCount] = optarg;					attrCount++;				}				break;			case 'f':				dataFile = optarg;				break;			case 'u':				printUsage = true;				break;			default:				printUsage = true;				result = 2;				break;			}		}		if (!printUsage && ((dataFile == NULL) || (attrCount == 0)))		{			fprintf(stderr, "Must specify file and at least one attribute\n");			printUsage = true;			result = 2;		}		if (printUsage)		{			fprintf(stderr,				"Usage: show -f <file> -a <attribute> -a <attribute> ... [-u]\n");			return result;		}	}	/* Save the specified attributes to a temporary projection file. */	{		projectionFile = tempnam("/tmp", NULL);		FILE * stream = fopen(projectionFile, "w");		int		count;		fprintf(stream, "%d ", attrCount);		for (count = 0; count < attrCount; count++)		{			fprintf(stream, "%s ", attrList[count]);		}		fclose(stream);	}	/* Initialize Devise stuff for command-line arguments. */	Init::DoInit();	AttrProj *		apP;	RecId			firstId;	RecId			lastId;	RecId			recId;	VectorArray *	vecArrayP;	/* Create the AttrProj object, and then delete the temporary projection	 * file, which we don't need anymore. */	apP = new AttrProj(schemaFile, projectionFile, dataFile);	unlink(projectionFile);	delete projectionFile;	/* Print out each projected record. */	apP->CreateRecordList(vecArrayP);	apP->FirstRecId(firstId);	apP->LastRecId(lastId);	for (recId = firstId; recId <= lastId; recId++)	{		apP->ReadRec(recId, *vecArrayP);		int			vecCount = vecArrayP->GetVecCount();		int		vecNum;		for (vecNum = 0; vecNum < vecCount; vecNum++)		{			Vector *	vecP = vecArrayP->GetVector(vecNum);			int			vecDim = vecP->dim;			int			count;			for (count = 0; count < vecDim; count++)			{				printf("%f\t", vecP->value[count]);			}			printf("\n");		}	}	delete vecArrayP;	return result;}													/* end main *//*============================================================================*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -