Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
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'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-07-2006, 11:19   #1
Imrahil
Senior Member
 
L'Avatar di Imrahil
 
Iscritto dal: Sep 2005
Città: 127.0.0.1
Messaggi: 3321
[C] Come si risolve una cosa del genere?

So che è elementare, ma mi serve con una certa urgenza...

Scrivere e far girare un programma C che:
1. legge un numero n minore di 30
2. legge n interi e li mette in un array int a[]
3. legge un intero m,
4. calcola la somma degli elementi dell’array a maggiori o uguali ad m utilizzando la funzione (che si deve definire)
int somma(int a[], int p, int m)
che restituisce la somma dei primi p elementi dell’array a maggiori di
m
5. stampa:
a. la media degli interi letti maggiori di del numero m letto (cioè la somma diviso per quanti sono).

Ad esempio se
Leggo 5 (dimensione dell’array)
Leggo i numeri 2 7 3 4 10
Leggo 4
Stamperò: La somma dei numeri letti maggiori o uguali a di 4 è 21

thx.
__________________

Intel Core 2 Duo E6420 | 2x1 GB Team Group XTreem PC6400 CL4 + 2x2 GB Corsair XMS2 | Gigabyte P35C - DS3R | XFX nVidia GeForce 8800 GTS 640 MB Extreme Edition | Western Digital Raptor 74GB | Samsung HD153WI 1,5 TB | NEC ND-4551A | Seasonic S12 600W | Coolermaster Stacker STC-01 Black | Acer AL1916w. ~ Trattative positive: 30 negative: 1 (Insane_Tech)
Imrahil è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 14:41   #2
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
senza offesa ma già il titolo è strairritante poi esordisci con 'mi serve con una certa urgenza' e poi posti una domanda su una cosa così banale? non sarà il caso che studi?
io te lo faccio anche se vuoi, anche con una certa urgenza... se me lo paghi
Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 14:58   #3
Imrahil
Senior Member
 
L'Avatar di Imrahil
 
Iscritto dal: Sep 2005
Città: 127.0.0.1
Messaggi: 3321
Boh scusa non mi sembrava di esser stato così sgarbato per meritarmi una risposta del genere... mi serviva sapere come farlo per studiarci un po' sopra, ma non è che obbligo nessuno eh...
__________________

Intel Core 2 Duo E6420 | 2x1 GB Team Group XTreem PC6400 CL4 + 2x2 GB Corsair XMS2 | Gigabyte P35C - DS3R | XFX nVidia GeForce 8800 GTS 640 MB Extreme Edition | Western Digital Raptor 74GB | Samsung HD153WI 1,5 TB | NEC ND-4551A | Seasonic S12 600W | Coolermaster Stacker STC-01 Black | Acer AL1916w. ~ Trattative positive: 30 negative: 1 (Insane_Tech)
Imrahil è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 15:06   #4
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
Quote:
Originariamente inviato da Imrahil
Boh scusa non mi sembrava di esser stato così sgarbato per meritarmi una risposta del genere... mi serviva sapere come farlo per studiarci un po' sopra, ma non è che obbligo nessuno eh...

no no non sei sgarbato figurati ma è come dire 'io non ho voglia di farlo fatelo voi'. inizia a fare qualcosa. avrai un libro da consultare. prova e posta il tuo codice. poi ti si aiuta volentieri.
Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 16:52   #5
Andlea
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 357
Inizia a scrivere un po' di codice, altrimenti ti assicuro che non imparerai mai.
Poi quando hai buttato giù qualcosa ti si da una mano volentieri
Andlea è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 17:15   #6
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
no no ma tranquillo, se ci paghi te lo facciamo in 2 minuti contati con la massima urgenza...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 17:38   #7
Imrahil
Senior Member
 
L'Avatar di Imrahil
 
Iscritto dal: Sep 2005
Città: 127.0.0.1
Messaggi: 3321
Quote:
Originariamente inviato da Black imp
no no non sei sgarbato figurati ma è come dire 'io non ho voglia di farlo fatelo voi'. inizia a fare qualcosa. avrai un libro da consultare. prova e posta il tuo codice. poi ti si aiuta volentieri.
Ok dai forse hai ragione è che proprio non ho capito da dove salta fuori quel "p"... se vuole che sia un input dell'utente o cosa... senza funzioni sono capace a farlo...
__________________

Intel Core 2 Duo E6420 | 2x1 GB Team Group XTreem PC6400 CL4 + 2x2 GB Corsair XMS2 | Gigabyte P35C - DS3R | XFX nVidia GeForce 8800 GTS 640 MB Extreme Edition | Western Digital Raptor 74GB | Samsung HD153WI 1,5 TB | NEC ND-4551A | Seasonic S12 600W | Coolermaster Stacker STC-01 Black | Acer AL1916w. ~ Trattative positive: 30 negative: 1 (Insane_Tech)
Imrahil è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 17:46   #8
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
allora prova a realizzare la funzione somma senza usare il parametro p: vedrai che ti accorgerai che non ci si riesce
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 18:05   #9
Imrahil
Senior Member
 
L'Avatar di Imrahil
 
Iscritto dal: Sep 2005
Città: 127.0.0.1
Messaggi: 3321
Sì ma non ho ben capito cosa rappresenta quella p... cioè se ci sono 3 elementi >= m p è uguale a 3?
__________________

Intel Core 2 Duo E6420 | 2x1 GB Team Group XTreem PC6400 CL4 + 2x2 GB Corsair XMS2 | Gigabyte P35C - DS3R | XFX nVidia GeForce 8800 GTS 640 MB Extreme Edition | Western Digital Raptor 74GB | Samsung HD153WI 1,5 TB | NEC ND-4551A | Seasonic S12 600W | Coolermaster Stacker STC-01 Black | Acer AL1916w. ~ Trattative positive: 30 negative: 1 (Insane_Tech)
Imrahil è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 18:15   #10
Andlea
Senior Member
 
Iscritto dal: Nov 2004
Messaggi: 357
Codice:
che restituisce la somma dei primi p elementi dell’array a maggiori di 
m
P verrà dato dall'utente prima di chiamare somma.
Somma dovrà quindi cercare un numero di elementi <= m, quando ne ha trovati p, li somma e restituisce il valore
Andlea è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 18:37   #11
Imrahil
Senior Member
 
L'Avatar di Imrahil
 
Iscritto dal: Sep 2005
Città: 127.0.0.1
Messaggi: 3321
Ah ok, quindi devo anche chiedere all'utente di inserire p, oltre ad m e agli elementi dell'array!
__________________

Intel Core 2 Duo E6420 | 2x1 GB Team Group XTreem PC6400 CL4 + 2x2 GB Corsair XMS2 | Gigabyte P35C - DS3R | XFX nVidia GeForce 8800 GTS 640 MB Extreme Edition | Western Digital Raptor 74GB | Samsung HD153WI 1,5 TB | NEC ND-4551A | Seasonic S12 600W | Coolermaster Stacker STC-01 Black | Acer AL1916w. ~ Trattative positive: 30 negative: 1 (Insane_Tech)
Imrahil è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 19:37   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
no: p è il numero di elementi dell'array. per il futuro quando ti capita una situazione del genere ripeto: prova a scrivere il codice senza usare quei dati che secondo te sono superflui; ti accorgerai durante la scrittura che superflui non sono.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2006, 22:17   #13
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
Quote:
Originariamente inviato da Imrahil
Ah ok, quindi devo anche chiedere all'utente di inserire p, oltre ad m e agli elementi dell'array!
mmmh forse no. il testo è un po' astruso: sembra che tu debba calcolare tutti i numeri più grandi di m che ci sono nell'array ma per farlo devi invocare una funzione che crei tu che usa come parametro int p che ti dice di fermarti ai primi p numeri maggiori di m. quindi tu scrivi la funzione usando il parametro p. ovviamente devi scriverla in modo che se ce n'è meno di p la ricerca non si impalla poi la chiamerai passandole per sicurezza il numero di elementi che ha a[] in questo modo se fossero tutti maggiori di m li troverebbe tutti.

mi raccomando il fatto che il testo chiami a[] e m sia le variabili che i parametri della funzione è solo per comodità e farti capire. la funzione puo avere anche 3 parametri che si chiamano in altro modo ma da fuori non conta.

Ultima modifica di Black imp : 16-07-2006 alle 22:23.
Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2006, 09:12   #14
Imrahil
Senior Member
 
L'Avatar di Imrahil
 
Iscritto dal: Sep 2005
Città: 127.0.0.1
Messaggi: 3321
Una cosa che non ho capito è questa (grassetto )

Scrivere e far girare un programma C che:
1. legge un numero n minore di 30
2. legge n interi e li mette in un array int a[]
3. legge un intero m,
4. calcola la somma degli elementi dell’array a maggiori o uguali ad m utilizzando la funzione (che si deve definire)
int somma(int a[], int p, int m)
che restituisce la somma dei primi p elementi dell’array a maggiori di
m

5. stampa:
a. la media degli interi letti maggiori del numero m letto (cioè la somma diviso per quanti sono).

Ad esempio se
Leggo 5 (dimensione dell’array)
Leggo i numeri 2 7 3 4 10
Leggo 4
Stamperò: La somma dei numeri letti maggiori o uguali a di 4 è 21


__________________

Intel Core 2 Duo E6420 | 2x1 GB Team Group XTreem PC6400 CL4 + 2x2 GB Corsair XMS2 | Gigabyte P35C - DS3R | XFX nVidia GeForce 8800 GTS 640 MB Extreme Edition | Western Digital Raptor 74GB | Samsung HD153WI 1,5 TB | NEC ND-4551A | Seasonic S12 600W | Coolermaster Stacker STC-01 Black | Acer AL1916w. ~ Trattative positive: 30 negative: 1 (Insane_Tech)
Imrahil è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2006, 09:57   #15
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
si, in effetti hai ragione, il punto 4 è impreciso; io considererei come se dicesse sempre "maggiori o uguali"; nella funzione somma, includi nel calcolo anche i numeri uguali ad m.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2006, 10:07   #16
Imrahil
Senior Member
 
L'Avatar di Imrahil
 
Iscritto dal: Sep 2005
Città: 127.0.0.1
Messaggi: 3321
Non capisco, perché devo usare una funzione? Non posso usare due array, in modo che il secondo contenga gli elementi >=m del primo?
__________________

Intel Core 2 Duo E6420 | 2x1 GB Team Group XTreem PC6400 CL4 + 2x2 GB Corsair XMS2 | Gigabyte P35C - DS3R | XFX nVidia GeForce 8800 GTS 640 MB Extreme Edition | Western Digital Raptor 74GB | Samsung HD153WI 1,5 TB | NEC ND-4551A | Seasonic S12 600W | Coolermaster Stacker STC-01 Black | Acer AL1916w. ~ Trattative positive: 30 negative: 1 (Insane_Tech)
Imrahil è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2006, 10:44   #17
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Quote:
Originariamente inviato da Imrahil
Non capisco, perché devo usare una funzione? Non posso usare due array, in modo che il secondo contenga gli elementi >=m del primo?

I testi dei problemi li fanno per verificare se hai capito come funzionano le cose, sicuramente ci saranno infinite soluzioni diverse e magari più eleganti, ma ti chiedono di usare una funzione per imparare a progettare una funzione in C (se è una esercitazione) o per verificare se lo sai fare (se è un esame)

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2006, 13:28   #18
Imrahil
Senior Member
 
L'Avatar di Imrahil
 
Iscritto dal: Sep 2005
Città: 127.0.0.1
Messaggi: 3321
Adesso ad esempio perché mi da segmentation fault?

Codice:
#include <stdio.h>

int main()

{ 
	int n;
	
	printf("Inserisci il numero massimo di elementi dell'array (massimo 30)\n");
	scanf("%d", &n);
	if (n <= 30){
	
	int i;
	int j;
	int a[n];
	int b[j];
	int m;
	int total;
	int average;
	
		for(i = 0; i < n; i++) {
		printf("Inserisci l'elemento in posizione i = %d dell'array:\n", i);
		scanf("%d", &a[i]);
		}
				

		printf( "%5s%20s", "Pos array", "Elemento array\n");
	for(i=0; i < n; i++) {
		printf("%5d%20d\n", i, a[i]);
		
}


}

	else printf("La dimensione massima dell'array deve essere 30!\n");


	return 0;
	 
}
__________________

Intel Core 2 Duo E6420 | 2x1 GB Team Group XTreem PC6400 CL4 + 2x2 GB Corsair XMS2 | Gigabyte P35C - DS3R | XFX nVidia GeForce 8800 GTS 640 MB Extreme Edition | Western Digital Raptor 74GB | Samsung HD153WI 1,5 TB | NEC ND-4551A | Seasonic S12 600W | Coolermaster Stacker STC-01 Black | Acer AL1916w. ~ Trattative positive: 30 negative: 1 (Insane_Tech)
Imrahil è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2006, 13:36   #19
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
non riesco ad aprire l'allegato, cmq di solito segmentation fault avviene se andando a leggere gli elementi dell'array sfondi l'array andando a leggere dati nn appartenenti al tuo programma.
controlla di far variare l'indice dell'array da 0 a LUNGHEZZA_ARRAY-1
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2006, 13:45   #20
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
la j non è inizializzata e la usi per allocare un array b di dimensioni ignote quindi.

Ultima modifica di Black imp : 17-07-2006 alle 13:50.
Black imp è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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 ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
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: 04:01.


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