Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-11-2007, 14: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, 14: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, 18:25   #3
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2788
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, 18: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


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
I coupon nascosti di Amazon si rinnovano...
Disponibili i video e le immagini in alt...
La NASA ha rilasciato le prime fotografi...
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: 12:50.


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