Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Al .NEXT 2026 di Chicago, Nutanix ha mostrato quanto sia cambiata: una piattaforma software che gestisce VM, container e carichi di lavoro IA ovunque, dall’on-premise al cloud pubblico. Con un’esecuzione rapidissima sulle partnership e sulla migrazione da VMware
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta
Xiaomi Pad 8 Pro adotta il potente Snapdragon 8 Elite all'interno di un corpo con spessore di soli 5,75 mm e pannello LCD a 144Hz flicker-free, per un tablet che può essere utilizzato con accessori dedicati di altissima qualità. Fra le caratteristiche esclusive, soprattutto per chi intende usarlo con la tastiera ufficiale, c'è la modalità Workstation di HyperOS 3, che trasforma Android in un sistema operativo con interfaccia a finestre
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-05-2005, 19:22   #1
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
[C] Non compila

Ciao!

Mi sapreste dire cosa c'è che non va in questo listato?

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

int palindroma(char *);

main(){

char a[]="abba";
int result;
result=palindroma(a);
printf("Risultato = %d\n", result);
return 0;
}

int palindroma (char *a){

char *i, *j;

*i=a;
*j=strlen(a)-1;

if(*i++==*j--)
return 1;
else return 0;
}

Non me lo compila mi dice che l'assegnazione *i=a; mi tirerebbe fuori un int senza fare preventivamente un cast. Perché?
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 20:01   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Dicci di preciso che errore ti da. In ogni caso, non vedo il bisogno di dichiarare quella 'i' come puntatore, se poi usi sempre il dereferencing... dichiarala semplicemente come int e tutto andrà bene.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 20:23   #3
illy
Member
 
L'Avatar di illy
 
Iscritto dal: May 2005
Città: Genova
Messaggi: 33
spero che sia solo una cosa di prova perchè non ha senso...
confronti solo la seconda e la penultima lettera....
illy è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 21:04   #4
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
Praticamente confronto la prima e l'ultima lettera in modo tale da controllare se sono uguali. Devo vedere se una stringa è palindroma. Il messaggio era in inglese non mi ricordo come diceva , però dalla traduzione che avevo fatto mi sembrava che dicesse proprio che dovevo fare un cast.
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 21:37   #5
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Quote:
Originariamente inviato da Manugal
Non me lo compila mi dice che l'assegnazione *i=a; mi tirerebbe fuori un int senza fare preventivamente un cast. Perché?
i è un puntatore a char, quindi *i è un char.
Dato che anche a è un puntatore a char, non puoi assegnare a *i il valore di a senza fare un cast.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 21:46   #6
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
l'errore qui è corretto, non puoi piazzare un puntatore su un valore
se vuoi mettere sul serio il valore di i = all'indirizzo di a allora lo devi fare esplicitamente
Codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int palindroma(char *);

main(){

char a[]="abba";
int result;
result=palindroma(a);
printf("Risultato = %d\n", result);
return 0;
}

int palindroma (char *a){

char *i, *j;

*i=*a;
*j=strlen(a)-1;

if(*i++==*j--)
return 1;
else return 0;
}
non so a cosa servvisse, quindi ho reso semplicemente il codice sinntatticamente corretto, non so se è quello che vuoi....

confornti j[0]-1 con i[0]??? non so che voglia dire palindorma, ma non ne capisco il senso.


ciao
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 02-05-2005, 21:48   #7
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
Quote:
Originariamente inviato da Manugal
Praticamente confronto la prima e l'ultima lettera in modo tale da controllare se sono uguali. Devo vedere se una stringa è palindroma. Il messaggio era in inglese non mi ricordo come diceva , però dalla traduzione che avevo fatto mi sembrava che dicesse proprio che dovevo fare un cast.
allora hai bisogno di controllare se

a[0] == a[strlen(a)-1]

ciao
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2005, 19:50   #8
illy
Member
 
L'Avatar di illy
 
Iscritto dal: May 2005
Città: Genova
Messaggi: 33
cmq con questo codice non vedi mica se è palinidroma...fai solo un controllo...e non della prima e l'ultima lettera ma della seconda e penultima...poi se mi sbaglio qualcuno mi dica....
illy è offline   Rispondi citando il messaggio o parte di esso
Old 03-05-2005, 19:56   #9
illy
Member
 
L'Avatar di illy
 
Iscritto dal: May 2005
Città: Genova
Messaggi: 33
e ho qualche dubbio sull'assegnamento del puntatore j....ma magari sto male
illy è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2005, 16:17   #10
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
Quote:
Originariamente inviato da Manugal
int palindroma (char *a){

char *i, *j;

*i=a;
*j=strlen(a)-1;

if(*i++==*j--)
return 1;
else return 0;
}
ma che hai scritto??
Codice:
int palindroma (char *a) {
    int i, len;
    i=0;
    len= strlen(a)-1;
    while (a[i++] == a[len--] && i<=len);
    if (i<=len) return 0;
    else return 1;
}
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2005, 21:25   #11
Manugal
Senior Member
 
L'Avatar di Manugal
 
Iscritto dal: Jan 2001
Città: Villanova di Guidonia (RM)
Messaggi: 1079
L'ho scritto così perché lo volevo fare tramite puntatori a vettore però mi sa che ho combinato un mezzo casotto

Grazie comunque a tutti
Manugal è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2005, 22:48   #12
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Quote:
Originariamente inviato da VegetaSSJ5
Codice:
int palindroma (char *a) {
    int i, len;
    i=0;
    len= strlen(a)-1;
    while (a[i++] == a[len--] && i<=len);
    if (i<=len) return 0;
    else return 1;
}
A 'sto punto, diamogli direttamente la forma idiomatica:
Codice:
int palindroma (char *s)
{
    int i,j;

    for (i=0,j=strlen(s)-1; i<j && s[i]==s[j]; i++,j--)
        ;

    return i>=j;
}
(Ci si può risparmiare il confronto nel caso i==j, perché se succede, vuol dire che s ha lunghezza dispari.)
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Ecovacs presenta la gamma 2026: paviment...
Efficienza energetica fino a 2.000 volte...
Lenovo 360: il programma di canale dell'...
Appena 10.000 qubit per rompere la critt...
Analisi dei transistor durante il funzio...
Attacco informatico a Booking.com: espos...
A quattro mesi dal divieto dei social ne...
NVIDIA GeForce RTX 5060 e 5060 Ti: in ar...
Rebellions, Arm e SK Telecom, nuova alle...
Modernizzazione delle app: Red Hat OpenS...
Nel mirino di Google c'è il back ...
PRAGMATA in bundle con GeForce RTX 5000:...
Le novità MOVA per il 2026: robot e impi...
Windows, stop all'attivazione telefonica...
ASUS porta la serie TUF nel formato Mini...
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: 03:24.


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