Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-01-2006, 12:13   #1
ixigia
Member
 
L'Avatar di ixigia
 
Iscritto dal: Jan 2006
Città: cp_well
Messaggi: 69
Programma in C per esame immediato

Dopo aver fatto lo scritto di informatica (sulla teoria) mi è stato assegnato un ultimo compito, quello di realizzare il seguente programma in C per DOMANI.Il probl però è che sia per lo scritto che per l'orale (sul programma in questione) ho avuto una sola settimana per studiare tutto (teoria + pratica C)...è ovvio quindi che al di fuori di qualche operazione semplice non so fare quasi nulla in C ....Mi dareste una mano per piacere?

"Realizzare un programma che consenta di acquisire una matrice A di n righe e m colonne di numeri a(i,j) tali che LB<=a(i,j)<=UB, con LB e UB fissati. Costruire poi un vettore di UB - LB + 1 componenti che contenga le frequenze dei valori immessi in A. Il vettore di frequenze deve essere sia salvato su file che visualizzato. Determinati gli elementi di frequenza minima e massima, sostituire l'elemento di frequenza massima con quello di frequenza minima all'interno della matrice, e visualizzare il risultato.

...Questo programma lo devo realizzare entro domani ...c'è in ballo l'esito di un esame che nello scritto è andato bene(18 )
ixigia è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 12:40   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16211
A me sembra un compito faticoso, più che difficile.
Per cui, ti conviene cominciare a scrivere un po' di codice, e se non gira, postarlo spiegando i problemi.

Ti dirò che l'unica cosa che mi spaventa un po', è la routine di input.
Infatti, ogni volta che inserisci un nuovo valore, devi controllare non solo che l'inserimento sia stato corretto (suggerimento: controlla il valore restituito da scanf), ma anche che il valore immesso sia accettabile.
Io scriverei una funzione per l'"immissione condizionata" di un singolo valore, e la inserirei in un doppio ciclo.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 12:51   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quoto quanto detto da Ziosilvio.

In più aggiungo: i valori n (numero righe), m (numero colonne) ed anche LB e UB, sono da "cablare" nel programma o sono da richiedere in input???
In particolare per n ed m, se sono da richiedere in input, devi prevedere anche l'allocazione dinamica della matrice.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 13:10   #4
ixigia
Member
 
L'Avatar di ixigia
 
Iscritto dal: Jan 2006
Città: cp_well
Messaggi: 69
Grazie ragazzi per la tempestività e le dritte, ma non vorrei sembrare scortese nel ripetere (me ne vergogno un pò, ma in parte sono comprensibile) che in una settimana di tempo non ho avuto modo di concentrarmi particolarmente sul C a causa di uno scritto basato su tutt'altro(algoritmi di ordinamento, rappresentaz numeri, tipi astratti di dato ecc...), vi prego quindi di darmi almeno l'inizio di questo programma sul quale non so proprio dove mettere le mani ...grazie infinite
ixigia è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 14:35   #5
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Ecco una base da cui partire:
Codice:
#include <stdio.h>

int main (void)
{
    int n, m;
    int ret;

    do {
        printf ("Inserire il numero di righe: ");
        ret = scanf ("%d", &n);
    } while (ret != 1 || n < 1);

    do {
        printf ("Inserire il numero di colonne: ");
        ret = scanf ("%d", &m);
    } while (ret != 1 || m < 1);

    return 0;
}
Questo presupponendo di dover prendere in input i valori di n e m.

Tieni presente che la scanf è una ciofeca di funzione ed è afflitta da un grave problema. Nel caso della specifica di formato %d, la scanf si aspetta di ricevere una sequenza di caratteri che rappresenti un numero. Se digiti ad esempio una lettera, il programma va in palla.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 15:08   #6
ixigia
Member
 
L'Avatar di ixigia
 
Iscritto dal: Jan 2006
Città: cp_well
Messaggi: 69
Grazie, per la matrice di numeri a(i,j), tali che LB<=a(i,j)<=UB (con LB e UB fissati) non so sinceramente nulla, ho cercato nel manuale di C che mi sono procurato il significato di UB ed LB, ho visto che sono gli estremi di un vettore...ma in che modo inserirli nel prog. ??(considerato che poi devo costruire il vett di UB - LB + 1 componenti che contiene le frequenze dei valori immessi in A...anche questa un'operaz per me impossibile da eseguire
ixigia è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 15:46   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ixigia
Grazie, per la matrice di numeri a(i,j), tali che LB<=a(i,j)<=UB (con LB e UB fissati) non so sinceramente nulla, ho cercato nel manuale di C che mi sono procurato il significato di UB ed LB, ho visto che sono gli estremi di un vettore...ma in che modo inserirli nel prog. ??(considerato che poi devo costruire il vett di UB - LB + 1 componenti che contiene le frequenze dei valori immessi in A...anche questa un'operaz per me impossibile da eseguire
Deduco che LB stia per lower bound (limite inferiore) e UB per upper bound (limite superiore), cioè il valore minimo/massimo accettato per un elemento della matrice.
Quello che non so (e che non ci hai detto) è se la matrice deve contenere dei numeri interi o dei float/double.

Presupponendo che anche LB ed UB debbano essere presi in input, prova a modificare il codice che ti ho postato in modo da prendere in input anche LB ed UB.
Dopodiché ci sarebbe da fare:
1) Allocare la memoria per la matrice
2) Riempire la matrice
3) Allocare l'array delle frequenze
4) Calcolare le frequenze

Inoltre, come già detto da te, si deve anche stampare e salvare su file il vettore delle frequenze.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 16:05   #8
ixigia
Member
 
L'Avatar di ixigia
 
Iscritto dal: Jan 2006
Città: cp_well
Messaggi: 69
Il programma mi è stato consegnato di persona dal Prof così com'è, presumo quindi che,se non specificato, intenda che si tratti di valori interi. Detto questo, non ho sinceramente la più pallida idea di come si possa realizzare tale programma con tutte le varie istruzioni richieste , quello che importa maggiormente al prof. domani x l'orale è che il progr. sia completo e senza intoppi...ma al momento questa condizione non pare possibile
ixigia è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 16:11   #9
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Ma hai un editor e un compilatore C sotto mano in questo momento? Se sì, prova il codice che ho postato, prova a modificarlo e ad aggiungergli l'input per LB/UB, per esempio.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 16:44   #10
ixigia
Member
 
L'Avatar di ixigia
 
Iscritto dal: Jan 2006
Città: cp_well
Messaggi: 69
Ho il DevC++, ma LB e UB li devo aggiungere con le stesse condizioni di n e m?..Ti prego aiutami il + possibile non so fare praticamente niente ma realizzare questo programma potrebbe permettermi di superare l'esame. Grazie
ixigia è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 17:05   #11
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ixigia
Ho il DevC++, ma LB e UB li devo aggiungere con le stesse condizioni di n e m?..Ti prego aiutami il + possibile non so fare praticamente niente ma realizzare questo programma potrebbe permettermi di superare l'esame. Grazie
Nel codice che ho postato, controllo che n ed m non siano inferiori ad 1 (vedi il test n < 1 e anche m < 1). Questo perché, come è logico, una matrice deve avere almeno 1 riga e 1 colonna!

Per quanto riguarda LB ed UB, penso che in teoria non ci siano limiti particolari. Un valore può andare da -1000 a +2000, tanto per dire. Potresti eventualmente forzare tu dei limiti min/max, magari per evitare che qualcuno ti metta una roba del tipo -1000000 e +1000000.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 17:18   #12
ixigia
Member
 
L'Avatar di ixigia
 
Iscritto dal: Jan 2006
Città: cp_well
Messaggi: 69
Ok, quindi dovrei fare

Codice:
#include <stdio.h>

int main (void)
{
    int n, m, LB ,UB;
    int ret;

    do {
        printf ("Inserire il numero di righe: ");
        ret = scanf ("%d", &n);
    } while (ret != 1 || n < 1);

    do {
        printf ("Inserire il numero di colonne: ");
        ret = scanf ("%d", &m);
    } while (ret != 1 || m < 1);

    do {
        printf ("Inserire LB: ");
        ret = scanf ("%d", &LB);
    } while (ret > -100 && ret < 100);
    
    do {
        printf ("Inserire UB: ");
        ret = scanf ("%d", &UB);
    } while (ret > -100 && ret < 100);

    return 0;
}
...va bene?
ixigia è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 17:38   #13
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ixigia
Ok, quindi dovrei fare

Codice:
...
    do {
        printf ("Inserire LB: ");
        ret = scanf ("%d", &LB);
    } while (ret > -100 && ret < 100);
    
    do {
        printf ("Inserire UB: ");
        ret = scanf ("%d", &UB);
    } while (ret > -100 && ret < 100);
...
...va bene?
No, non va bene. ret è il valore di ritorno della scanf che ti indica il numero di campi assegnati correttamente. Quindi nel caso di 1 solo %d, puoi restituirti o 0 oppure 1. Inoltre il test è da fare al contrario perché deve looppare se ret è diverso da 1 (cioè nessun campo assegnato) oppure se UB/LB sono al di fuori del range consentito.
Inoltre, almeno a livello di variabili, metti il nome in minuscolo.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 17:44   #14
ixigia
Member
 
L'Avatar di ixigia
 
Iscritto dal: Jan 2006
Città: cp_well
Messaggi: 69
Me lo immaginavo...se hai un'idea di come possa essere realizzato questo programma, la puoi postare x piacere?Purtroppo credo sia l'unico modo per avere questo prog. per domani, Grazie infinite
ixigia è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 17:49   #15
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da ixigia
Me lo immaginavo...se hai un'idea di come possa essere realizzato questo programma, la puoi postare x piacere?Purtroppo credo sia l'unico modo per avere questo prog. per domani, Grazie infinite
Beh ... non è che posso farti io tutto il programma!!
Tra l'altro adesso sto per uscire dall'ufficio e stasera non credo che avrei molto tempo.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 17:53   #16
ixigia
Member
 
L'Avatar di ixigia
 
Iscritto dal: Jan 2006
Città: cp_well
Messaggi: 69
Ok non ti preoccupare, grazie comunque dell'enorme pazienza e degli aiuti
ixigia è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 17:55   #17
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da ixigia
Ho il DevC++, ma LB e UB li devo aggiungere con le stesse condizioni di n e m?..Ti prego aiutami il + possibile non so fare praticamente niente ma realizzare questo programma potrebbe permettermi di superare l'esame. Grazie
Mi sfugge questo concetto.
Perchè dovresti poter superare un esame universitario senza sapere nulla?
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 18:02   #18
ixigia
Member
 
L'Avatar di ixigia
 
Iscritto dal: Jan 2006
Città: cp_well
Messaggi: 69
Quote:
Originariamente inviato da shinya
Mi sfugge questo concetto.
Perchè dovresti poter superare un esame universitario senza sapere nulla?
Non è niente di losco, è che per l'orale è necessario avere il programma funzionante al 100% (altrimenti niente orale), ma le domande verteranno più su concetti teorici diversi dal C, o al più si limiteranno ad interessare le cose più elementari e meno indirizzate agli esercizi...se poi mi chiedi che senso abbia tutto questo non te lo saprei dire, ma questa è la situazione
ixigia è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Un post di Sean Duffy (amministratore ad...
SpaceX ha già lanciato oltre 135 ...
GeForce RTX 5060 Ti 8GB: non piace neanc...
Isar Aerospace Spectrum: il fallimento d...
'State lontani dalla GeForce RTX 5090 Fo...
GJ 251 c è la ''super-Terra'' sco...
Halo è ufficialmente multipiattaf...
Windows 11 25H2 e 24H2: come attivare su...
Brembo Solutions e Microsoft danno vita ...
Migliaia di pacchi Amazon rubati ai legi...
Ex CEO di Stellantis: Musk lascerà...
Record storico per i giochi Windows su L...
GPU introvabili: Microsoft accusa i mine...
RedTiger prende di mira i gamer: furto d...
Microsoft sotto accusa: avrebbe nascosto...
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: 23:20.


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