Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI
Snapdragon Soung Gen 2 è la piattaforma Qualcomm per i dispositivi audio sempre più integrati nel mondo dell'intelligenza artificiale: al prorpio interno tanta potenza elaborativa per gestire al meglio le necessità d'uso dell'agentic AI
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
In occasione del proprio Snapdragon Summit Qualcomm annuncia i due nuovi chip per dispositivi mobile di fascia alta che entreranno nel mercato nel corso del 2027: tanta potenza a disposizione per elaborazioni di intelligenza artificiale sempre più complesse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-06-2017, 14:36   #1
pierpy796
Junior Member
 
Iscritto dal: Jun 2017
Messaggi: 1
Esercizio esame sulle liste in C

Salve ragazzi tra pochi giorni ho un esame ed è già la seconda volta che provo a superarlo. L'anno scorso non riuscii a fare quest'esercizio e volevo chiedervi di aiutarmi.

Data L una lista di caratteri, si realizzino in C:
1)Una funzione che popoli L con 60 caratteri casuali tra 'a' e 'z'(codici ASCII a=97, z=122);
2)Una funzione che calcoli il carattere che appare con maggiore frequenza in L;
3)Una funzione che, letto un carattere c da tastiera, crei due nuove liste L1 e L2, dove L1 contiene tutti i caratteri alfabeticamente mino o uguali a c, ed L2 tutti quelli maggiori.

Il primo punto l'ho risolto con tranquillità, ma sono bloccato al secondo da 3 giorni:

Nell'ultima funzione (che posterò insieme a tutto il codice fin'ora svolto di seguito) volevo, prima di stampare i carattere con maggiore frequenza, stampare le occorrenze di tutti i caratteri, ovviamente evitando di riscrivere due volte gli stessi caratteri con il flag "gia_fatto". Ma quando vado a compilare il programma arriva al 24esimo,25esimo elemento e compare "Segmentation fault". Qualcuno saprebbe aiutarmi? Vi ringrazio in anticipo

P.S. se nei cicli FOR dell'ultima funzione, inserisco 30 e 30, invece di 60 e 60, il programma funziona e sono anche riuscito a risolvere il secondo punto. Può essere un problema legato alla memoria? Perchè 30 elementi li scorre senza problemi e tutti i 60 invece no?

CODICE:

Codice PHP:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>

typedef struct s_info{
  
     
int info[60];
}
t_info;


struct s_node{

    
t_info carattere;
    
struct s_node *link;
};
typedef struct s_node t_node;
typedef t_node *t_list;

//PROTOTIPI FUNZIONE
t_list crea_lista();
t_info info_casuali(t_list lista);
t_list inserisci_elemento(t_list lista,t_info info);
void stampa_lista(t_list lista);
void carattere_piu_frequente(t_list lista, t_info info);






int main(){

    
t_list lista;
    
int i;
    
t_info info;

    
lista=crea_lista();

    for(
i=0;i<60;i++){

    
info=info_casuali(lista);

    
lista=inserisci_elemento(lista,info);
}

    
stampa_lista(lista);

    
carattere_piu_frequente(lista,info);
    
    

    return 
0;
}


//IMPLEMENTO FUNZIONI

t_list crea_lista(){
    return 
NULL;
}


t_info info_casuali(t_list lista){
    
int i;
    
t_info info;
    
srand(time(NULL));

    for(
i=0;i<60;i++){
    
info.info[i]=97+rand()%(122-97);
}
    return 
info;
}



t_list inserisci_elemento(t_list lista,t_info info){

    
t_list newnode,curr,prec;
    
prec=NULL;
    
curr=lista;
    
    while(
curr!=NULL){
    
    
curr=curr->link;
}

    
newnode=(t_node*)malloc(sizeof(t_node));
    
newnode->carattere=info;
    
newnode->link=curr;

    if(
prec==NULL){
    
newnode->link=lista;
    
lista=newnode;
    return 
lista;
}   else {
    
prec->link=newnode;
    
newnode->link=curr;
    return 
lista;
}
}


void stampa_lista(t_list lista){

     
int i=0;
     
t_list curr;
     
curr=lista;

     while(
curr!=NULL){

     
printf("%c -> ", curr->carattere.info[i]);
     
curr=curr->link;
     
i++;
}
     
printf("NULL");
     
printf("\n");
}
 
void carattere_piu_frequente(t_list lista, t_info info){
     
int i,j,gia_fatto,occorrenze;
     
t_list curr;
     
curr=lista;
     for(
i=0;i<60;i++){
     
     
gia_fatto=0;
     for(
j=0;j<i;j++){
    
    if(
curr->carattere.info[i]==curr->carattere.info[j]){
    
gia_fatto=1;
    
curr=curr->link;
   
}
}
    if(
gia_fatto==0){
    
occorrenze=0;

    for(
j=0;j<60;j++){
    
    if(
curr->carattere.info[i]==curr->carattere.info[j]){
    
occorrenze++;
    
curr=curr->link;
}
}

    
    
printf(" - lettera %c; occorrenze %d",curr->carattere.info[i],occorrenze);
    
printf("\n");
} 
} 
} 
pierpy796 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Gemini 4 è quasi pronto: il lanci...
GTA 6, Rockstar lancia il box da collezi...
Microsoft è il caso 'Microslop': cosa si...
Dreame H15 Pro Heat crolla da 599€ a 419...
BYD prepara una berlina elettrica ultra-...
Claude si ottimizza da solo, e adesso è ...
Internet a casa: quanta velocità ...
Titan Quest 2 ha una data di uscita uffi...
Sony ULT FIELD 1, cassa bluetooth in off...
Noctua e Forced Physics insieme per rivo...
Diesel Euro 5, slitta al 2027 il blocco ...
Copilot+ PC è morto? I nuovi Surf...
Nintendo vince causa da 4,5 milioni di d...
Google porta l'AI nello spazio: il primo...
Opera: la VPN gratuita si accende in aut...
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: 08:15.


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