Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-05-2007, 10:48   #1
gigippa
Member
 
Iscritto dal: Apr 2007
Città: Torino
Messaggi: 95
[C] problema confronto stringhe

Ciao a tutti, dovrei implementare questa funzione: char **pos_min(char **begin, char **end) che ritorna il puntatore alla stringa
“minima” (nel senso definito da strcmp()) nel sottovettore begin. . . end.
Qualcuno mi può aiutare? Grazie mille
gigippa è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2007, 11:26   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da gigippa Guarda i messaggi
Ciao a tutti, dovrei implementare questa funzione: char **pos_min(char **begin, char **end) che ritorna il puntatore alla stringa
“minima” (nel senso definito da strcmp()) nel sottovettore begin. . . end.
Qualcuno mi può aiutare? Grazie mille
Innanzitutto hai dichiarato dei puntatori a puntatori a char (char**), quindi con cosa hai a che fare? Con un array di puntatori a char, cioè con un array di stringhe?
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2007, 11:31   #3
gigippa
Member
 
Iscritto dal: Apr 2007
Città: Torino
Messaggi: 95
Quote:
Originariamente inviato da andbin Guarda i messaggi
Innanzitutto hai dichiarato dei puntatori a puntatori a char (char**), quindi con cosa hai a che fare? Con un array di puntatori a char, cioè con un array di stringhe?
si esatto. Per esempio se le stringhe che dichiaro in input sono Tom,Chris e David la funzione mi deve restituire in output Chris David Tom
gigippa è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2007, 11:48   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da gigippa Guarda i messaggi
si esatto. Per esempio se le stringhe che dichiaro in input sono Tom,Chris e David la funzione mi deve restituire in output Chris David Tom
Benissimo, quindi 'begin' e 'end' sono due puntatori che puntano dentro un array di puntatori a char. Pertanto si prende in considerazione solamente una porzione dell'array di stringhe.
In output si deve restituire un nuovo array di stringhe che contiene i puntatori alle stringhe. L'array è tale per cui le stringhe sono ordinate.

Dovresti quindi:
a) Determinare quante stringhe ci sono nella porzione dell'array delimitata da begin e end. Lo calcoli facilmente perché sizeof(char*) ti dice quanto occupa un puntatore.

b) Allocare un nuovo array di puntatori a char.

c) Usare un algoritmo di ordinamento per ordinare le stringhe. Chiaramente ti conviene impostare il nuovo array con le stringhe così come sono (non ordinate) e quindi ordinare il nuovo array, così non alteri l'array originale!

Che algoritmo di ordinamento usare lo devi sapere tu ... non so se ti è stato imposto un algoritmo specifico o se puoi stabilirlo tu.

P.S. Domanda: la stringa puntata da 'end' è esclusa o inclusa?
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2007, 14:03   #5
gigippa
Member
 
Iscritto dal: Apr 2007
Città: Torino
Messaggi: 95
avevo pensato a una cosa del genere

char **pos_min(char **begin, char **end)
{
char **res=begin;
for(begin++; begin<=end; begin++)
//if(**begin<**res)
res=begin;
return res;
}

con al posto dell' if commentato l' uso di strcmp che però non riesco a fare. Se mi puoi aiutare ti ringrazio

Edit: uso poi questa pos_min in un selection sort

Ultima modifica di gigippa : 21-05-2007 alle 14:18.
gigippa è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2007, 14:18   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da gigippa Guarda i messaggi
avevo pensato a una cosa del genere

char **pos_min(char **begin, char **end)
{
char **res=begin;
for(begin++; begin<=end; begin++)
//if(**begin<**res)
res=begin;
return res;
}

con al posto dell' if commentato l' uso di strcmp che però non riesco a fare. Se mi puoi aiutare ti ringrazio
Se 'begin' è l'indirizzo della cella dove c'è il puntatore alla stringa, allora *begin è il puntatore alla stringa. Pertanto ti basta passare a strcmp *begin e *res. Se la prima è inferiore alla seconda (< 0), allora assegni begin a res.


P.S.: dal tuo esempio di prima "Per esempio se le stringhe che dichiaro in input sono Tom,Chris e David la funzione mi deve restituire in output Chris David Tom" avevo capito che volevi ottenere come ritorno un array ordinato.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-05-2007, 14:25   #7
gigippa
Member
 
Iscritto dal: Apr 2007
Città: Torino
Messaggi: 95
Potresti mica scrivermelo in linguaggio C sintatticamente corretto?

Edit: Grazie ma non serve più, ci sono riuscito. Non so proprio come ringraziarti per l' aiuto!

Ultima modifica di gigippa : 21-05-2007 alle 14:36.
gigippa è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
SpaceX mostra nuove immagini del lancio ...
Cina: CAS Space e Guangzhou Laboratory e...
Nikon Comedy Wildlife Awards 2026: le fo...
Samsung Galaxy A57 e A37 costano di più ...
Windows 11 26H2 taglia il consumo di RAM...
KINGPIN è tornato! Il re dell'ove...
CPU usata, ban ereditato: il caso del Ry...
Spunta un engineering sample di Ryzen 9 ...
iPhone 18 Pro, alcuni utenti segnalano s...
Android Auto: Gemini ascolta la domanda ...
OpenAI avvisa oltre 100 organizzazioni p...
Dall'AI alla SI: il rebranding di Trump ...
0patch offrirà supporto esteso pe...
Sudo sembra un iPod, ma nasconde una car...
Meta, OpenAI e Google rifanno OpenClaw: ...
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: 20:36.


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