Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-01-2006, 11: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, 11:40   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16215
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, 11:51   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
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, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 12: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, 13:35   #5
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
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, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 14: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, 14:46   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
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, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 15: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, 15:11   #9
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
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, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 15: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, 16:05   #11
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
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, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 16: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, 16:38   #13
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
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, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 16: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, 16:49   #15
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
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, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2006, 16: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, 16: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, 17: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


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Energia solare sempre più economica: dal...
Google apre Home MCP: l'IA può controlla...
Auto SR di Microsoft arriva sui Copilot+...
Eu Kids Act ufficiale: niente social sot...
PS5 Linux perde il suo sviluppatore: sto...
GPU gaming, Rubin e RDNA 5 verso il 2028...
AMD: l'alternativa al DLSS 5 sarebbe in ...
Canon EOS R8 Mark II: sensore da 24,2 MP...
Alla Napoli Shipping Week 2026 arriva il...
Addio bollo: il Governo cancella la tass...
Speciale Logitech G: mouse PRO X SUPERLI...
Cosa pensano Altman, Amodei, Benioff e H...
Microsoft: evento il 7 ottobre dedicato ...
Scoperti 84 corpi cosmici anomali: cosa ...
Dimensity 9600 Pro contro A20 Pro, il nu...
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: 07:04.


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