Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-04-2002, 12:29   #1
Pettinato
Member
 
L'Avatar di Pettinato
 
Iscritto dal: Jun 2000
Città: Milano
Messaggi: 136
Problema C AIUTO PLS

Ciao a tutti

ho riscontrato un problema durante la compilazione in questa parte di programma:

int verifica(int s,PUNT **H,int *w){
NODO *q,*z;
PUNT *c;
for (q=p;q!=NULL;q=q->next)
for (z=q;z->k!=s || z->down!=NULL;z=z->down)
if(z->k==s){
*w=1;
if(*H==NULL){
*H=(PUNT*)malloc(sizeof(PUNT));
*H->next=NULL; //riga 54
*H->p=q;}//riga 55
else{
c=(PUNT*)malloc(sizeof(PUNT));
c->p=q;
c->next=H;
*H=c;}
return 1;}
else
return 0;}


Il compilatore mi scrive così:
STALA.c: In function `verifica':
STALA.c:54: request for member `next' in something not a structure or union
STALA.c:55: request for member `p' in something not a structure or union


La mia struttura è questa:

typedef struct punt {
NODO *p;
struct punt *next;
}PUNT;


Sembra che non veda questa struttura che sta in un file .h che ovviamente ho specificato con #include "STALA.h"

Ciao a tutti e grazie
__________________
athlon xp-m 2400Mhz asus a7n8x-x ati 9800 aiw@9800pro
Pettinato è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2002, 15:18   #2
Pettinato
Member
 
L'Avatar di Pettinato
 
Iscritto dal: Jun 2000
Città: Milano
Messaggi: 136
Ho risolto qualche problema ma il compilatore fa ancora capricci.

La funzione:
int verifica(int s,PUNT **H,int *w){
NODO *q,*z;
PUNT *c;
for (q=p;q!=NULL;q=q->next)
for (z=q;z->k!=s || z->down!=NULL;z=z->down)
if(z->k==s){
*w=1;
if(*H==NULL){
*H=(PUNT*)malloc(sizeof(PUNT));
*H->next=NULL;
*H->p=q;}
else{
c=(PUNT*)malloc(sizeof(PUNT));
c->p=q;
c->next=*H;
*H=c;}
return 1;}
else
return 0;}

Il compilatore dice:
gcc: P: No such file or directory
STALA.c: In function `verifica':
STALA.c:56: request for member `next' in something not a structure or union
STALA.c:57: request for member `p' in something not a structure or union


La struttura è sempre quella di prima non so che dire.

AIUTO!

CIAO e grazie
__________________
athlon xp-m 2400Mhz asus a7n8x-x ati 9800 aiw@9800pro
Pettinato è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2002, 15:52   #3
Pettinato
Member
 
L'Avatar di Pettinato
 
Iscritto dal: Jun 2000
Città: Milano
Messaggi: 136
Ho risolto la storia del doppio puntatore.

Adesso mi dice solo:

gcc: Pr: No such file or directory

Dopo aver scritto :

gcc -o -Wall Pr P.c STALA1.c

AIUTO!!!

CIAO e grazie
__________________
athlon xp-m 2400Mhz asus a7n8x-x ati 9800 aiw@9800pro
Pettinato è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2002, 16:07   #4
MickMacello
Senior Member
 
Iscritto dal: Dec 1999
Messaggi: 139
devi specificare il nome del file eseguibile subito dopo l' opzione -o credo:

... -o Pr -Wall
__________________
Ingegnere: colui che ha molta familiarità con i modelli e molto poca con le modelle.
MickMacello è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2002, 16:39   #5
Pettinato
Member
 
L'Avatar di Pettinato
 
Iscritto dal: Jun 2000
Città: Milano
Messaggi: 136
Compilato!

ma adesso mi va in ciclo infinito ARGGG!!!

vi posto il codice della parte che secondo me crea questo problema:

void inserisci_stag(a,b,h){

int s,w,c,e;
w=0;

H=NULL;
for(c=a;c!=b-1;c++){
for(e=0;e!=h;e++){
s=(e*m)+c;
if(verifica(s,&w)==0 || w==0 || p==NULL){insert(s);}
else
{concatena(s);}}}

Provando con delle printf mi è sembrato di capire che il problema lo creano i 2 for.

AIUTOOOOOOO!!!!!!!!!!!!

Ciao e grazie
__________________
athlon xp-m 2400Mhz asus a7n8x-x ati 9800 aiw@9800pro
Pettinato è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2002, 17:09   #6
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Quote:
Originariamente inviato da Pettinato

[b]
for(c=a;c!=b-1;c++){

for(e=0;e!=h;e++){
Se l'errore e' qua puo' essere che non vadano bene i parametri che passi alla funzione. Se ad esempio a e' uguale a b, il ciclo non terminera' mai perche' c sara' sempre maggiore o uguale di a e quindi maggiore ( in particolare diverso ) da b.
Per vedere se il problema e'ì questo prova a cambiare i due for con delle disuguaglianze, ad esempio

for(c=a;c < b-1;c++){
for(e=0; e<h;e++){

Se il problema e' li' , il ciclo termina subito
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2002, 17:41   #7
Pettinato
Member
 
L'Avatar di Pettinato
 
Iscritto dal: Jun 2000
Città: Milano
Messaggi: 136
GRANDE!!!MARCO

ho tolto il ciclo infinito!!!

ma adesso ho qualche problemino..................

vi terrò al corrente nei prossimi minuti =P


CIAO e grazie
__________________
athlon xp-m 2400Mhz asus a7n8x-x ati 9800 aiw@9800pro
Pettinato è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2002, 19:41   #8
Pettinato
Member
 
L'Avatar di Pettinato
 
Iscritto dal: Jun 2000
Città: Milano
Messaggi: 136
adesso sono in fase di debugging e si forma ancora un ciclo infinito:
void inserisci_stat(a,b,h){

int s,w,c,e;
w=0;
H=NULL;
for (c=a;c<b-1;c++){
for (e=n;e<h;e--){
s=(e*m)+c;
if(verifica(s,&w)==0 || w==0 || p==NULL){insert(s);}
else
{concatena(s);}}}}

void insert(s){
NODO *z;
if(p==NULL)
{z=(NODO*)malloc(sizeof(NODO));printf("Insert...\n");
p=z;
p->k=s;
p->next=NULL;
p->down=NULL;}
else
{z=(NODO*)malloc(sizeof(NODO));
z->k=s;
z->next=p;
p=z;
z->down=NULL;}}


La funzione verifica è quella di prima.
Non mi entra neanche in concatena il problema sono i 2 for(credo).
Non ne ho idea!!

AIUTO!!!!!

GRAZIE A TUTTI

CIAO
__________________
athlon xp-m 2400Mhz asus a7n8x-x ati 9800 aiw@9800pro
Pettinato è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2002, 12:03   #9
/\/\@®¢Ø
Bannato
 
L'Avatar di /\/\@®¢Ø
 
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
Quote:
Originariamente inviato da Pettinato
[b]adesso sono in fase di debugging e si forma ancora un ciclo infinito:
<cut>
for (e=n;e<h;e--){
<cut>
La funzione verifica è quella di prima.
Non mi entra neanche in concatena il problema sono i 2 for(credo).
Non ne ho idea!!

AIUTO!!!!!

GRAZIE A TUTTI

CIAO
Il problema e' lo stesso di prima, solo a rovescio...
Se tu fai calare e e ti interessa continuare il ciclo finche' non raggiunge h, devi stare attento al primo passo ! Se n<h , allora facendo decrementare e, questo sara' sempre minore di h , e quindi non si fermera' mai !
Prova con
for (e=n;e>h;e--){

ovvero cambia il < in >.
Cosi' se al primo passo "sfori" il controllo, almeno ti si ferma subito. L'importante e' che tu abbia capito perche' va messa la disuguaglianza !
Attento pero' . Come il for che ti ho sistemato nel post precedente, non e' detto che sia la soluzione appropriata ! Lo e' se il caso n<h e' un caso particolare in cui non occorre fare niente . Se invece non dovrebbe succedere, allora il problema e' a monte, quando passi i parametri alla funzione.
Spero di essere stato chiaro ( difficile conoscendomi ).
/\/\@®¢Ø è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Il tuo Galaxy laggava nei giochi? Samsun...
Arrivano i nuovi Amazon Echo: prezzi da ...
Il nuovo pickup elettrico Ford può alime...
Opera WebAI: così l'intelligenza artific...
Copilot nella Sidebar di Edge sparisce p...
X terrorizza gli utenti con una mano gig...
Firmware UEFI, embargo saltato per error...
Android 18 limiterà le modifiche alla ru...
Silent Hill 1 Remake, nuove indiscrezion...
Keystone distrugge 18.835 hardware walle...
GTA VI potrebbe richiedere più GB...
Nokia 6300 rinasce grazie all'IA: arriva...
iPhone 18e: le prime indiscrezioni antic...
Motorola Edge 70 Neo in arrivo, un leak ...
Apple rilascia iOS 27.2 e iPadOS 27.2: n...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:16.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v