|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2003
Città: Rimini
Messaggi: 1846
|
[C] Codice molto semplice, perchè non va?
Incredibile più i programmi sono facili e meno possibilità ci sono che partano, grrrrrrr!
Mi sapete dire nel seguente codice cosa ha che non va la funzione conta elementi diversi? Al di la di quello che dovrebbe fare che l'ho scritto senza ricontrollarlo approfonditamente prima o poi dovrebbe terminare. Se non la chiamo mi stampa i due vettori normalmente ma se la chiamo non succede niente nella console. Codice:
#include <stdio.h>
#include <stdlib.h>
void conta_elementi_diversi(int a[], int b[]);
void stampa_vettori(int a[], int b[]);
int main()
{
int a[15]={2,3,1,2,2,1,2,2,3,2,4,5,6,5,6};
int b[30]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
conta_elementi_diversi(a, b);
stampa_vettori(a, b);
}
void conta_elementi_diversi(int a[], int b[])
{
int temp=0;
int i=0,k=0;
int count=1;
b[0]=a[0];
temp=a[0];
for(k=2;k<30;k+2)
{
for(i=1;i<15;i++)
{
if(a[i]==temp)
{
count++;
}
}
b[k-1]=count;
b[k]=a[k-1];
temp=a[k-1];
}
}
void stampa_vettori(int a[], int b[])
{
int i=0;
system("cls");
for(i=0;i<15;i++)
{
printf("%d ", a[i]);
}
printf("\n\n");
getch();
for(i=0;i<30;i++)
{
printf("%d ", b[i]);
}
getch();
}
Ultima modifica di -Ivan- : 10-01-2006 alle 19:33. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
mi metto a guardare il codice
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
non capisco cosa vuoi fare nel cerca .. allora in un for non hai messo k =
se devi cercare le ricorrenze dei numeri ti butto giù un codice. non so se riesco stasera. ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Codice:
// struttura dati
struct ricc{
int val;
int ric;
bool attivo;
};
void conta_elementi_diversi(int a[])
{
ricc result[15];
printf ("\nInizializzazione struttura...");
for(int i=0;i<N;i++)
{
result[i].ric = 1;
result[i].attivo = true;
}
printf ("\nInizializzazione struttura effettuata.");
for (int y=0;y<N-1;y++){
for (int i=y+1;i<N;i++){
if (result[i].attivo == true && a[y] == a[i]){
result[y].ric ++;
result[i].attivo = false;
}
}
}
printf ("\nVisualizzazione dati ...\n");
for (int i=0;i<N;i++){
if (result[i].attivo == true){
printf ("%d -> ricorrenza %d\n", a[i],result[i].ric );
}
}
}
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso Ultima modifica di Fenomeno85 : 10-01-2006 alle 23:18. |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
sempre detto che sto impazzendo ... allora rileggendo mi sa che ho capito male il tutto .. per fare quello che vuoi basta che usi solo un array di bool e fai lo stesso procedimento con una cancellazione logica.
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Codice:
int conta_dif_ele (int a[]){
int n_ele = 0;
bool logic[N];
for (int i=0;i<N;i++){
logic[i]=true;
}
for (int i=0;i<N-1;i++){
if (logic[i]== true){
n_ele ++;
for (int y=i+1;y<N;y++){
if (logic[y]==true && a[i] == a[y])
logic[y] = false;
}
}
}
return n_ele;
}
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Mar 2003
Città: Rimini
Messaggi: 1846
|
Io partendo da un vettore di interi ne volevo creare un altro con nelle celle pari i numeri del primo vettore e nelle celle dispari quante volte ricorrono dentro al primo vettore.
Se un numero è ripetuto nel secondo vettore appare una sola volta. Adesso appena ho un minuto guardo il codice che hai scritto. Grazie dell'aiuto. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
va be implementati al posto della visualizzazione il modo per salvare nell'array
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:03.



















