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.