lista sequencial estática: o que há de errado?

1. lista sequencial estática: o que há de errado?

Templary
ic0158040

(usa KUbuntu)

Enviado em 18/10/2008 - 01:09h

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define TAM 10


int ListaA[TAM] ;
int ListaB[TAM] ;
int quantA = 0 ;
int quantB = 0 ;

//prototipo das funcoes utilizadas************************************
bool insereSeqEst (int* l , int novo, int &quant);
void interseccaoListaSeqEnc (int l1[] , int tam1, int l2[] , int tam2) ;
void imprime (int l[], int quant) ;

//====================================================================
//main
int main(int argc, char**argv) {
srand(time(NULL)) ;
int i , j ;
for( i=0 ; i<TAM ; i++) insereSeqEst(ListaA , i+rand()%1001, quantA) ;
printf("\n IMPRESSAO DA LISTA 1\n") ;
imprime(ListaA, TAM) ;

for (j=0 ; j< TAM ; j++) insereSeqEst(ListaB , i+rand()%1001, quantB) ;
printf("\n IMPRESSAO DA LISTA 2\n") ;
imprime(ListaB , TAM) ;

printf("\n IMPRESSAO DA LISTA INTERSECCAO\n") ;
interseccaoListaSeqEnc(ListaA , TAM , ListaB, TAM) ;

return 0 ;
}
//fim main
//====================================================================
//implementação das funcoes
//funcao insere*******************************************************
bool insereSeqEst (int* l , int novo, int &quant) {
int i , j ;
int ant ;

if (quant == 0 ) {
l[quant]= novo ;
quant ++ ;
} else if (quant < TAM){
for ( i = 0 ; (i<quant)&&(l[i] < novo) ;i++){
if ( i == quant) {
l[i] = novo ;
quant ++ ;
} else {
ant = l[i] ;
l[i] = novo ;
for( j=quant+1 ; j>i ; j--) {
l[j] = l[j-1] ;
}
l[i] = ant ;
quant++ ;
}
}
}
return true ;
}

//funcao interseccao **************************************************
void interseccaoListaSeqEnc (int l1[] , int tam1, int l2[] , int tam2) {
for (int i = 0; i < tam1 ; i++){
for (int j=0 ; j < tam2; j++){
if(l1[i] == l2[i]) printf ( "\n %d" , l1[i] ) ;
}
}
}

//funcao imprime*******************************************************
void imprime (int l[], int quant) {
for (int i= 0 ; i<quant; i++) {
printf("\n%d - %d" , i , l[i]) ;
}
}


SAÍDA DO G++

IMPRESSAO DA LISTA 1

0 - 66
1 - 497
2 - 450
3 - 850
4 - 223
5 - 293
6 - 596
7 - 295
8 - 923
9 - 0
IMPRESSAO DA LISTA 2

0 - 834
1 - 853
2 - 0
3 - 0
4 - 0
5 - 0
6 - 0
7 - 0
8 - 0
9 - 0
IMPRESSAO DA LISTA INTERSECCAO

0
0
0
0
0
0
0
0
0


OBS.:EU SALVEI EM CPP APESAR DE ESTAR UTILIZANDO LINGUAGEM DE C

AO TENTAR PASSAR POR REFERENCIA A LISTA L NA FUNCAO INSERE:

bool insereSeqEst (int* &l , int novo, int &quant);
E EM
bool insereSeqEst (int* &l , int novo, int &quant) {

O COMPILADOR ME VOLTOU OS SEGUINTES ERROS


ex1.cpp: In function ‘int main(int, char**)’:
ex1.cpp:23: erro: invalid initialization of non-const reference of type ‘int*&’ from a temporary of type ‘int*’
ex1.cpp:14: erro: in passing argument 1 of ‘bool insereSeqEst(int*&, int, int&)’
ex1.cpp:27: erro: invalid initialization of non-const reference of type ‘int*&’ from a temporary of type ‘int*’
ex1.cpp:14: erro: in passing argument 1 of ‘bool insereSeqEst(int*&, int, int&)’



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts