Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-11-2007, 15:18   #1
schumijr_87
Junior Member
 
Iscritto dal: Nov 2007
Messaggi: 2
Alternativa Esercizio??

Per chi è tanto paziente da elaborare un'alternativa a questo esercizio:

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

char* inputStr()
{
unsigned long long i = 0;
char c;
char* str = (char*)malloc(2);

do
{
c = getchar();
str[i++] = c;
str = (char*)realloc(str, i+3);
if (c == '\n') {str[--i] = ' '; str[i+1] = '\0';}
}
while(c != '\n');

return str;
}

void str_assign(char** s1, unsigned long r, char* s2)
{
unsigned long i;
for(i = 0; s2[i] != '\0'; i++);
char* s3 = (char*)malloc(i+1);
for(i = 0; s2[i] != '\0'; i++) s3[i] = s2[i]; s3[i] = '\0';
s1[r] = s3;
}

void print(char** a, unsigned long end)
{
unsigned long i;
for(i = 0; i <= end; i++) printf("%lu) %s\n", i, a[i]);
}

void print2(unsigned long* a, unsigned long end)
{
unsigned long i;
for(i = 0; i <= end; i++) printf("%lu) %lu\n", i, a[i]);
}


unsigned long conta_parole(char* testo, char** parole, unsigned long* occorrenze)
{
unsigned long l, j, i = 0, tot_parole = 0;
int isparola = 0, gia_inserita = 0;
char* parola = (char*)malloc(2);

for(l = 0; testo[l] != '\0'; l++)
{
if ( !(isspace(testo[l])) && !(ispunct(testo[l])) )
{
parola[i++] = testo[l];
parola = (char*)realloc(parola, i+2);
isparola = 1;
}
else if (isparola == 1)
{
isparola = 0;
parola[i] = '\0';
if (tot_parole >= 1)
{
for(j = 0; j < tot_parole; j++)
{
if(strcmp(parole[j], parola)==0) {occorrenze[j]++; gia_inserita = 1;}
}

if (!gia_inserita)
{
str_assign(parole, tot_parole, parola);
occorrenze[tot_parole]++;
tot_parole++;

parole = (char**)realloc(parole, (tot_parole+1)*sizeof(char*));
occorrenze = (unsigned long*)realloc(occorrenze, (tot_parole+1)*sizeof(unsigned long));
occorrenze[tot_parole] = 0;
} else gia_inserita = 0;
}
else
{
str_assign(parole, 0, parola);
occorrenze[0]++; tot_parole++;
}
i = 0;
}
}

return tot_parole-1;
}

void ordina_parole(char** parole, unsigned long* occorrenze, unsigned long tot)
{
//bubble sort

unsigned long i, scambi = 0;

do
{
for(i = 0, scambi = 0; i < tot-1; i++)
{
if (occorrenze[i] < occorrenze[i+1])
{
unsigned long appoggio1 = occorrenze[i];
occorrenze[i] = occorrenze[i+1];
occorrenze[i+1] = appoggio1;

char* appoggio2 = parole[i];
parole[i] = parole[i+1];
parole[i+1] = appoggio2;

scambi = 1;
}
}
}
while(scambi);


for(i = 0; i < tot; i++)
{
printf("%s %lu\n", parole[i], occorrenze[i]);
}
}

int main()
{
char* testo = inputStr();
char** parole = (char**)malloc(sizeof(char*));

unsigned long* occorrenze = (unsigned long*)malloc(sizeof(unsigned long)*50); occorrenze[0] = 0;
unsigned long tot = conta_parole(testo, parole, occorrenze);

//print2(occorrenze, tot);printf("\n");
//print(parole, tot);printf("\n");

ordina_parole(parole, occorrenze, tot);
}
schumijr_87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 15:29   #2
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 19:25   #3
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2787
Quote:
Originariamente inviato da schumijr_87 Guarda i messaggi
Per chi è tanto paziente da elaborare un'alternativa a questo esercizio:
Non si tratta di pazienza..
Le regole d'oro del forum:
1- Usa i tag CODE
2- Indenta il codice
3- Non chiedere di fare i compiti al posto tuo e se devi farlo almeno inventa qualche bella scusa che ci faccia ridere come fanno tutti
4- Porgi chiaramente la tua richiesta. Nel tuo caso... perché dovrei leggere e soprattutto sforzarmi di capire quel codice (che tra l'altro non è neanche commentato) quando molto più semplicemente potresti spiegarci tu di che si tratta?
5- Benvenuto!
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2007, 19:51   #4
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
O meglio non credere che siamo dei brufolosi e occhialuti programmatori che si eccitano a vedere un listato c e che non hanno niente di meglio da fare che farti i compitini.
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
TSMC approva investimenti record da quas...
L'IA agentica arriva anche sullo storage...
Euro digitale, il Parlamento UE cambia r...
Alphabet e la sua obbligazione centenari...
L'UE anticipa un intervento per bloccare...
Il Trump Phone esiste ma è molto ...
Frodi deepfake fuori controllo: perch&ea...
Consumano il 30% in meno: arrivano i nuo...
Tesla Semi svela i numeri definitivi: 80...
La Air Force statunitense vieta occhiali...
Wi-Fi Intel e Windows: le novità ...
Dongfeng sbarca 'a casa loro': il nuovo ...
BYD ATTO 3 EVO: 3,9 secondi sullo 0-100 ...
Horizon 3 potrebbe arrivare tra 3-5 anni...
Spostare il 40% della produzione in USA?...
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: 17:53.


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