Funzioni c

di il
3 risposte

Funzioni c

Ciao! Sono nuova sia nel forum che nel linguaggio di programmazione C.
Sto facendo un po' di esercizi e mi sono imbattuta in un esercizio un po' particolare.
Sono ore e ore che ci sto sopra e non so da dove iniziare…
Il testo dice così:
Siano definiti i seguenti tipi di dato:
typedef struct {
int id;
char text[281];
char hashtags[100][100];
int hashtags_number;
} Tweet;

typedef struct {
char ht[100];
int tweets_ids[10000];
int tweets_number;
} HashTag


che rappresentano rispettivamente:
• un Tweet, in cui id è codice numerico univoco per il tweet, text è il suo contenuto testuale, hashtags
è un array di stringhe contenente gli hashtags presenti nel tweet, e hashtags_number è la
lunghezza di tale array.
• un HashTag, in cui ht è una stringa contenente i caratteri che compongono l’hashtag (es. #climatechange),
tweets_ids è un vettore contenente i codici numerici (id) dei tweet che contengono
l’hashtag, tweets_number è la lunghezza di tale vettore.
Un vettore di HashTag rappresenta quindici un indice inverso che associa ad ogni hashtag gli id di
tutti i tweet in cui esso appare.
Scrivere una funzione C che, dati come parametri un vettore di Tweet (T) e la sua lunghezza, ed un
vettore di HashTag (H) vuoto, aggiorni H analizzando gli hashtags contenuti in T, e restituisca il
numero di hashtag distinti trovati in T.
La funzione inoltre stampi a video il contenuto del vettore H.

3 Risposte

  • Re: Funzioni c

    Beh comincia a crearti tu a mano un array di 4 o 5 tweet. Poi farai, per ogni hashtag di ogni tweet, un controllo con la funzione strcmp() per vedere se è già stato aggiunto al vettore degli Hashtag

    Per il vettore degli Hashtag immagino che tu non abbia ancora affrontato l'allocazione dinamica, quindi dichiaralo globale con un numero fisso di elementi (tipo 100) associato ad un indice globale che parte da zero e ti dice quanti ne hai aggiunti
  • Re: Funzioni c

    Capisco che non puoi darmi la soluzione completa, ma minimo una dritta su cosa fare…
  • Re: Funzioni c

    Non sai crearti un array di strutture e riempirne i campi? Devo farlo io per te?
Devi accedere o registrarti per scrivere nel forum
3 risposte