Buscar

Hash em Vetor, Tabela de espalhamento em vetor e lista encadeada

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

EDIIHash/.dep.inc
# This code depends on make tool being used
DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
ifneq (${DEPFILES},)
include ${DEPFILES}
endif
EDIIHash/HashFunc.h
/* 
 * File: HashFunc.h
 * Author: joao
 *
 * Created on 2 de Maio de 2016, 15:54
 */
#ifndef HASHFUNC_H
#define	HASHFUNC_H
//------------------
#define TF 100
//------------------
#include<stdlib.h>
#include<string.h>
#include"ListHash.h"
#ifdef	__cplusplus
extern "C" {
#endif
 //--------------------------------------------------------------------------
 struct Registro {
 int codigo;
 char nome[40], status;
 };
 typedef struct Registro reg;
 //--------------------------------------------------------------------------
 reg leRegistro();
 int geraChave(reg reg);
 int hash(int chave);
 char isVogal(char key);
 void initTable(list* hashTable[]);
 void exibereg(reg r);
 void exibeDados(list *hashT[], reg tabDados[]);
 void insereRegistro(list *hashT[], reg tabDados[], reg registro, int *tl);
 void exclusaoLogica(list *hashT[], reg tabDados[], reg registro);
 //--------------------------------------------------------------------------
 reg leRegistro() {
 reg novo;
 printf("\n Codigo:");
 scanf("%d", &novo.codigo);
 printf("\n Nome:");
 fflush(stdin);
 scanf("%s", &novo.nome);
 novo.status = 1;
 return novo;
 }
 //--------------------------------------------------------------------------
 void exibereg(reg r) {
 printf("\nCodigo:[%d]", r.codigo);
 printf("\nNome :[%s]", r.nome);
 printf("\nStatus:[%s]", (r.status) ? "Ativo" : "Inativo");
 }
 //--------------------------------------------------------------------------
 /*Gera uma chave para a funcao de hash
 *int geraChave(reg)
 * @param reg
 * retorna uma chave usando o nome e o codigo do registro
 */
 int geraChave(reg reg) {
 int i = 0, somaQuad = 0, maior = 0, menor = 256, len = strlen(reg.nome), amplitude;
 while (i < len) {//percorre o nome
 if (!isVogal(reg.nome[i])) {//encontra as consoantes
 somaQuad += ((int) reg.nome[i]) << 1; //Soma os quadrados dos valores
 if (reg.nome[i] > maior)
 maior = reg.nome[i]; //registra o menor valor da sequencia
 if (reg.nome[i] < menor)
 menor = reg.nome[i]; // registra o maior valor da sequencia
 }
 i++;
 }
 amplitude = maior - menor; // calcula a amplitude da sequencia
 amplitude = amplitude << 1; //calcula o quadrado da amplitude
 return ((somaQuad + reg.codigo) - amplitude) + 1; //calcula e retorna a chave
 }
 //------------------------------------------------------------------------------
 int hash(int chave) {
 return chave % TF;
 }
 //------------------------------------------------------------------------------
 char isVogal(char key) {
 char vogais[6], flag = 0;
 strcpy(vogais, "aeiou");
 int i = 0;
 while (!flag && i < 6) {
 if (vogais[i] == key)
 flag = 1;
 i++;
 }
 }
 //-----------------------------------------------------------------------------
 void initTable(list* hashTable[]) {
 int i = 0;
 while (i < TF) {
 hashTable[i] = NULL;
 i++;
 }
 }
 //-----------------------------------------------------------------------------
 /*Insere um registro da tabela de dados
 *void exclusaoLogica(list*[], reg[], regm,int*)
 * @param list*[] tabela de hasing
 * @param reg[] tabela de dados
 * @param reg registro a excluir
 * @param int tl da tabela de dados
 */
 void insereRegistro(list *hashT[], reg tabDados[], reg registro, int *tl) {
 list *aux = NULL;
 int chave = geraChave(registro), endereco = hash(chave);
 aux = busca(hashT[endereco], chave);
 if (aux == NULL) {
 tabDados[*tl] = registro;
 insere(&hashT[endereco], registro.codigo, *tl);
 selecaoDireta(&hashT[endereco]);
 (*tl)++;
 }
 }
 //-----------------------------------------------------------------------------
 /*Exclui um registro da tabela de dados
 *void exclusaoLogica(list*[], reg[], reg)
 * @param list*[] tabela de hasing
 * @param reg[] tabela de dados
 * @param reg registro a excluir
 */
 void exclusaoLogica(list *hashT[], reg tabDados[], reg registro) {
 list *aux = NULL;
 int endereco = 0;
 char flag = 1;
 aux = busca(hashT[hash(geraChave(registro))], registro.codigo);
 if (aux != NULL) {
 tabDados[aux->pos].status = 0;
 }
 }
 //-----------------------------------------------------------------------------
 void exibeDados(list *hashT[], reg tabDados[]) {
 int i = 0;
 list*aux = NULL;
 while (i < TF) {
 if (hashT[i] != NULL) {
 aux = hashT[i];
 printf("\nEndereco :<%d>\n", i);
 while (aux != NULL) {
 exibereg(tabDados[aux->pos]);
 aux = aux->prox;
 }
 }
 i++;
 }
 }
 //-----------------------------------------------------------------------------
 /*Exclui um registro da tabela de dados
 *void exclusaofisica(list*[], reg[], reg,int*)
 * @param list*[] tabela de hasing
 * @param reg[] tabela de dados
 * @param reg registro a excluir
 * @param int* tl da tabela de dados
 */
 void exclusaoFisica(list *hashT[], reg tabDados[], reg registro, int *tl) {
 list *aux = NULL;
 int endereco = 0;
 char flag = 1;
 aux = busca(hashT[hash(geraChave(registro))], registro.codigo);
 if (aux != NULL) {
 endereco = hash(aux->chave);
 tabDados[aux->pos] = tabDados[*tl - 1];
 (*tl)--;
 exclui(&hashT[endereco], aux->chave);
 if (hashT[endereco] != NULL)
 selecaoDireta(&hashT[endereco]);
 }
 }
#ifdef	__cplusplus
}
#endif
#endif	/* HASHFUNC_H */
EDIIHash/ListHash.h
/* 
 * File: ListHash.h
 * Author: joao
 *
 * Created on 2 de Maio de 2016, 14:40
 */
#ifndef LISTHASH_H
#define	LISTHASH_H
#include<stdio.h>
#ifdef	__cplusplus
extern "C" {
#endif
 //--------------------------------------------------------------------------
 struct HList {
 int chave, pos;
 struct HList *prox;
 };
 typedef struct HList list;
 //--------------------------------------------------------------------------
 void init(list **l) {
 *l = NULL;
 }
 //--------------------------------------------------------------------------
 void insere(list **l, int chave, int pos) {
 list *aux, * nova = (list*) malloc(sizeof (list));
 nova->chave = chave;
 nova->pos = pos;
 nova->prox = NULL;
 if (*l == NULL)
 *l = nova;
 else {
 aux = *l;
 while (aux->prox != NULL)
 aux = aux->prox;
 aux->prox = nova;
 }
 }
 //--------------------------------------------------------------------------
 list* busca(list *l, int chave) {
 list *aux = l;
 while (aux != NULL && chave < aux->chave)
 aux = aux->prox;
 return aux;
 }
 //--------------------------------------------------------------------------
 void exclui(list **l, int chave) {
 list *aux = (*l), *ant = NULL;
 if (aux != NULL) {
 if (aux->prox == NULL) {
 free(aux);
*l = NULL;
 } else {
 while (aux->prox != NULL && aux->chave < chave) {
 ant = aux;
 aux = aux->prox;
 }
 if (aux->chave == chave) {
 ant->prox = aux->prox;
 free(aux);
 }
 }
 }
 }
 void selecaoDireta(list **l) {
 int menor;
 list *i = *l, *j = NULL;
 while (i->prox != NULL) {
 menor = i->chave;
 j = i->prox;
 while (j != NULL) {
 if (j->chave < menor) {
 menor = j->chave;
 j->chave = i->chave;
 i->chave = menor;
 }
 j = j->prox;
 }
 i = i->prox;
 }
 }
#ifdef	__cplusplus
}
#endif
#endif	/* LISTHASH_H */
EDIIHash/Makefile
#
# There exist several targets which are by default empty and which can be 
# used for execution of your targets. These targets are usually executed 
# before and after some main targets. They are: 
#
# .build-pre: called before 'build' target
# .build-post: called after 'build' target
# .clean-pre: called before 'clean' target
# .clean-post: called after 'clean' target
# .clobber-pre: called before 'clobber' target
# .clobber-post: called after 'clobber' target
# .all-pre: called before 'all' target
# .all-post: called after 'all' target
# .help-pre: called before 'help' target
# .help-post: called after 'help' target
#
# Targets beginning with '.' are not intended to be called on their own.
#
# Main targets can be executed directly, and they are:
# 
# build build a specific configuration
# clean remove built files from a configuration
# clobber remove all built files
# all build all configurations
# help print help mesage
# 
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
# .help-impl are implemented in nbproject/makefile-impl.mk.
#
# Available make variables:
#
# CND_BASEDIR base directory for relative paths
# CND_DISTDIR default top distribution directory (build artifacts)
# CND_BUILDDIR default top build directory (object files, ...)
# CONF name of current configuration
# CND_PLATFORM_${CONF} platform name (current configuration)
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
#
# NOCDDL
# Environment 
MKDIR=mkdir
CP=cp
CCADMIN=CCadmin
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
# Add your post 'build' code here...
# clean
clean: .clean-post
.clean-pre:
# Add your pre 'clean' code here...
.clean-post: .clean-impl
# Add your post 'clean' code here...
# clobber
clobber: .clobber-post
.clobber-pre:
# Add your pre 'clobber' code here...
.clobber-post: .clobber-impl
# Add your post 'clobber' code here...
# all
all: .all-post
.all-pre:
# Add your pre 'all' code here...
.all-post: .all-impl
# Add your post 'all' code here...
# build tests
build-tests: .build-tests-post
.build-tests-pre:
# Add your pre 'build-tests' code here...
.build-tests-post: .build-tests-impl
# Add your post 'build-tests' code here...
# run tests
test: .test-post
.test-pre: build-tests
# Add your pre 'test' code here...
.test-post: .test-impl
# Add your post 'test' code here...
# help
help: .help-post
.help-pre:
# Add your pre 'help' code here...
.help-post: .help-impl
# Add your post 'help' code here...
# include project implementation makefile
include nbproject/Makefile-impl.mk
# include project make variables
include nbproject/Makefile-variables.mk
EDIIHash/build/Debug/GNU-Linux-x86/main.o
EDIIHash/build/Debug/GNU-Linux-x86/main.o.d
build/Debug/GNU-Linux-x86/main.o: main.cpp HashFunc.h ListHash.h
HashFunc.h:
ListHash.h:
EDIIHash/dist/Debug/GNU-Linux-x86/ediihash
EDIIHash/main.cpp
/* 
 * File: main.cpp
 * Author: joao
 *
 * Created on 2 de Maio de 2016, 14:37
 */
#include <cstdlib>
#include"HashFunc.h"
using namespace std;
/*
 * 
 */
int main(int argc, char** argv) {
 reg tabelaDados[TF], reg;
 list * hashTable[TF];
 int tl = 0, op = 0;
 char menu[4][80];
 strcpy(menu[0], "[ 1 ] Inserir dados");
 strcpy(menu[1], "[ 2 ] exibir dados");
 strcpy(menu[2], "[ 3 ] excluir registro");
 strcpy(menu[3], "[ 4 ] excluir registro (fis)");
 strcpy(menu[4], "[ 5 ] sair");
 initTable(hashTable);
 
 for(int i=0;i<6;i++){
 printf("%s\n",menu[i]);
 }
 while (op != 5) {
 scanf("%d", &op);
 switch (op) {
 case 1:
 while (reg.nome[0] !='q') {
 reg = leRegistro();
 printf("\n Chave:[%d] Hash[%d]", geraChave(reg), hash(geraChave(reg)));
 insereRegistro(hashTable, tabelaDados, reg, &tl);
 printf("\nTL[%d]", tl);
 }
 break;
 case 2:
 exibeDados(hashTable, tabelaDados);
 break;
 case 3:
 printf("\n Entre com codigo e nome a excluir:\n");
 reg=leRegistro();
 exclusaoLogica(hashTable,tabelaDados,reg);
 break;
 case 4:
 printf("\n Entre com codigo e nome a excluir:\n");
 reg=leRegistro();
 exclusaoFisica(hashTable,tabelaDados,reg,&tl);
 
 break;
 case 5:
 
 break;
 }
 for(int i=0;i<5;i++){
 printf("%s\n",menu[i]);
 }
 }
 
 return 0;
}
EDIIHash/nbproject/Makefile-Debug.mk
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=gfortran
AS=as
# Macros
CND_PLATFORM=GNU-Linux-x86
CND_DLIB_EXT=so
CND_CONF=Debug
CND_DISTDIR=dist
CND_BUILDDIR=build
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
	${OBJECTDIR}/main.o
# C Compiler Flags
CFLAGS=-lcurses
# CC Compiler Flags
CCFLAGS=-lcurses
CXXFLAGS=-lcurses
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
	"${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash
${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash: ${OBJECTFILES}
	${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
	${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.cpp 
	${MKDIR} -p ${OBJECTDIR}
	${RM} "$@.d"
	$(COMPILE.cc) -g -MMD -MP -MF "$@.d"
-o ${OBJECTDIR}/main.o main.cpp
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
	${RM} -r ${CND_BUILDDIR}/${CND_CONF}
	${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
EDIIHash/nbproject/Makefile-Release.mk
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CP=cp
GREP=grep
NM=nm
CCADMIN=CCadmin
RANLIB=ranlib
CC=gcc
CCC=g++
CXX=g++
FC=gfortran
AS=as
# Macros
CND_PLATFORM=GNU-Linux-x86
CND_DLIB_EXT=so
CND_CONF=Release
CND_DISTDIR=dist
CND_BUILDDIR=build
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
# Object Files
OBJECTFILES= \
	${OBJECTDIR}/main.o
# C Compiler Flags
CFLAGS=
# CC Compiler Flags
CCFLAGS=
CXXFLAGS=
# Fortran Compiler Flags
FFLAGS=
# Assembler Flags
ASFLAGS=
# Link Libraries and Options
LDLIBSOPTIONS=
# Build Targets
.build-conf: ${BUILD_SUBPROJECTS}
	"${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash
${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash: ${OBJECTFILES}
	${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
	${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash ${OBJECTFILES} ${LDLIBSOPTIONS}
${OBJECTDIR}/main.o: main.cpp 
	${MKDIR} -p ${OBJECTDIR}
	${RM} "$@.d"
	$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
	${RM} -r ${CND_BUILDDIR}/${CND_CONF}
	${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
EDIIHash/nbproject/Makefile-impl.mk
# 
# Generated Makefile - do not edit! 
# 
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a pre- and a post- target defined where you can add customization code.
#
# This makefile implements macros and targets common to all configurations.
#
# NOCDDL
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
# and .clean-reqprojects-conf unless SUB has the value 'no'
SUB_no=NO
SUBPROJECTS=${SUB_${SUB}}
BUILD_SUBPROJECTS_=.build-subprojects
BUILD_SUBPROJECTS_NO=
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
CLEAN_SUBPROJECTS_=.clean-subprojects
CLEAN_SUBPROJECTS_NO=
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
# Project Name
PROJECTNAME=EDIIHash
# Active Configuration
DEFAULTCONF=Debug
CONF=${DEFAULTCONF}
# All Configurations
ALLCONFS=Debug Release 
# build
.build-impl: .build-pre .validate-impl .depcheck-impl
	@#echo "=> Running $@... Configuration=$(CONF)"
	"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
# clean
.clean-impl: .clean-pre .validate-impl .depcheck-impl
	@#echo "=> Running $@... Configuration=$(CONF)"
	"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
# clobber 
.clobber-impl: .clobber-pre .depcheck-impl
	@#echo "=> Running $@..."
	for CONF in ${ALLCONFS}; \
	do \
	 "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
	done
# all 
.all-impl: .all-pre .depcheck-impl
	@#echo "=> Running $@..."
	for CONF in ${ALLCONFS}; \
	do \
	 "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
	done
# build tests
.build-tests-impl: .build-impl .build-tests-pre
	@#echo "=> Running $@... Configuration=$(CONF)"
	"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
# run tests
.test-impl: .build-tests-impl .test-pre
	@#echo "=> Running $@... Configuration=$(CONF)"
	"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
# dependency checking support
.depcheck-impl:
	@echo "# This code depends on make tool being used" >.dep.inc
	@if [ -n "${MAKE_VERSION}" ]; then \
	 echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
	 echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
	 echo "include \$${DEPFILES}" >>.dep.inc; \
	 echo "endif" >>.dep.inc; \
	else \
	 echo ".KEEP_STATE:" >>.dep.inc; \
	 echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
	fi
# configuration validation
.validate-impl:
	@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
	then \
	 echo ""; \
	 echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
	 echo "See 'make help' for details."; \
	 echo "Current directory: " `pwd`; \
	 echo ""; \
	fi
	@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
	then \
	 exit 1; \
	fi
# help
.help-impl: .help-pre
	@echo "This makefile supports the following configurations:"
	@echo " ${ALLCONFS}"
	@echo ""
	@echo "and the following targets:"
	@echo " build (default target)"
	@echo " clean"
	@echo " clobber"
	@echo " all"
	@echo " help"
	@echo ""
	@echo "Makefile Usage:"
	@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
	@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
	@echo " make [SUB=no] clobber"
	@echo " make [SUB=no] all"
	@echo " make help"
	@echo ""
	@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
	@echo " also build subprojects."
	@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
	@echo " also clean subprojects."
	@echo "Target 'clobber' will remove all built files from all configurations and,"
	@echo " unless 'SUB=no', also from subprojects."
	@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
	@echo " also build subprojects."
	@echo "Target 'help' prints this message."
	@echo ""
EDIIHash/nbproject/Makefile-variables.mk
#
# Generated - do not edit!
#
# NOCDDL
#
CND_BASEDIR=`pwd`
CND_BUILDDIR=build
CND_DISTDIR=dist
# Debug configuration
CND_PLATFORM_Debug=GNU-Linux-x86
CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
CND_ARTIFACT_NAME_Debug=ediihash
CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/ediihash
CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
CND_PACKAGE_NAME_Debug=ediihash.tar
CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/ediihash.tar
# Release configuration
CND_PLATFORM_Release=GNU-Linux-x86
CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
CND_ARTIFACT_NAME_Release=ediihash
CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/ediihash
CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
CND_PACKAGE_NAME_Release=ediihash.tar
CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/ediihash.tar
#
# include compiler specific variables
#
# dmake command
ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \
	(mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)
#
# gmake command
.PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk))
#
include nbproject/private/Makefile-variables.mk
EDIIHash/nbproject/Package-Debug.bash
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Debug
CND_DISTDIR=dist
CND_BUILDDIR=build
CND_DLIB_EXT=so
NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash
OUTPUT_BASENAME=ediihash
PACKAGE_TOP_DIR=ediihash/
# Functions
function checkReturnCode
{
 rc=$?
 if [ $rc != 0 ]
 then
 exit $rc
 fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
 mkdir -p "$1"
 checkReturnCode
 if [ "$2" != "" ]
 then
 chmod $2 "$1"
 checkReturnCode
 fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
 cp "$1" "$2"
 checkReturnCode
 if [ "$3" != "" ]
 then
 chmod $3 "$2"
 checkReturnCode
 fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/ediihash/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/ediihash.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/ediihash.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
EDIIHash/nbproject/Package-Release.bash
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_PLATFORM=GNU-Linux-x86
CND_CONF=Release
CND_DISTDIR=dist
CND_BUILDDIR=build
CND_DLIB_EXT=so
NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/ediihash
OUTPUT_BASENAME=ediihash
PACKAGE_TOP_DIR=ediihash/
# Functions
function checkReturnCode
{
 rc=$?
 if [ $rc != 0 ]
 then
 exit $rc
 fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
 mkdir -p "$1"
 checkReturnCode
 if [ "$2" != "" ]
 then
 chmod $2 "$1"
 checkReturnCode
 fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
 cp "$1" "$2"
 checkReturnCode
 if [ "$3" != "" ]
 then
 chmod $3 "$2"
 checkReturnCode
 fi
}
# Setup
cd "${TOP}"
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
rm -rf ${NBTMPDIR}
mkdir -p ${NBTMPDIR}
# Copy files and create directories and links
cd "${TOP}"
makeDirectory "${NBTMPDIR}/ediihash/bin"
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
# Generate tar file
cd "${TOP}"
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/ediihash.tar
cd ${NBTMPDIR}
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/ediihash.tar *
checkReturnCode
# Cleanup
cd "${TOP}"
rm -rf ${NBTMPDIR}
EDIIHash/nbproject/configurations.xml
 
 
 
 HashFunc.h
 ListHash.h
 
 
 main.cpp
 
 
 
 
 
 
 Makefile
 
 
 Makefile
 
 
 
 default
 true
 false
 
 
 
 -lcurses
 
 
 g++
 -lcurses
 
 
 
 
 
 
 
 
 
 
 
 default
 true
 false
 
 
 
 5
 
 
 5
 
 
 5
 
 
 5
 
 
 
 
 
 
 
 
 
 
EDIIHash/nbproject/private/Makefile-variables.mk
#
# Generated - do not edit!
#
# NOCDDL
#
# Debug configuration
# Release configuration
EDIIHash/nbproject/private/configurations.xml
 
 Makefile
 
 
 
 localhost
 2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 gdb
 
 
 
 "${OUTPUT_PATH}"
 
 "${OUTPUT_PATH}"
 
 true
 1
 2
 0
 
 
 
 
 
 
 localhost
 2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 gdb
 
 
 
 "${OUTPUT_PATH}"
 
 "${OUTPUT_PATH}"
 
 true
 0
 0
 
 
 
 
 
EDIIHash/nbproject/private/launcher.properties
# Launchers File syntax:
#
# [Must-have property line] 
# launcher1.runCommand=<Run Command>
# [Optional extra properties] 
# launcher1.displayName=<Display Name, runCommand by default>
# launcher1.buildCommand=<Build Command, Build Command specified in project properties by default>
# launcher1.runDir=<Run Directory, ${PROJECT_DIR} by default>
# launcher1.symbolFiles=<Symbol Files loaded by debugger, ${OUTPUT_PATH} by default>
# launcher1.env.<Environment variable KEY>=<Environment variable VALUE>
# (If this value is quoted with ` it is handled as a native command which execution result will become the value)
# [Common launcher properties]
# common.runDir=<Run Directory>
# (This value is overwritten by a launcher specific runDir value if the latter exists)
# common.env.<Environment variable KEY>=<Environment variable VALUE>
# (Environment variables from common launcher are merged with launcher specific variables)
# common.symbolFiles=<Symbol Files loaded by debugger>
# (This value is overwritten by a launcher specific symbolFiles value if the latter exists)
#
# In runDir, symbolFiles and env fields you can use these macroses:
# ${PROJECT_DIR} - project directory absolute path
# ${OUTPUT_PATH} - linker output path (relative to project directory path)
# ${OUTPUT_BASENAME}- linker output filename
# ${TESTDIR} - test files directory (relative to project directory path)
# ${OBJECTDIR} - object files directory (relative to project directory path)
# ${CND_DISTDIR} - distribution directory (relative to project directory path)
# ${CND_BUILDDIR} - build directory (relative to project directory path)
# ${CND_PLATFORM} - platform name
# ${CND_CONF} - configuration name
# ${CND_DLIB_EXT} - dynamic library extension
#
# All the project launchers must be listed in the file!
#
# launcher1.runCommand=...
# launcher2.runCommand=...
# ...
# common.runDir=...
# common.env.KEY=VALUE
# launcher1.runCommand=<type your run command here>
EDIIHash/nbproject/private/private.xml
 
 
 1
 0
 
 
 
 
 file:/home/joao/NetBeansProjects/EDIIHash/HashFunc.h
 
 
EDIIHash/nbproject/project.xml
 
 org.netbeans.modules.cnd.makeproject
 
 
 EDIIHash
 
 cpp
 h
 UTF-8
 
 
 
 
 Debug
 1
 
 
 Release
 1
 
 
 
 false

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais