Torna indietro   Hardware Upgrade Forum > Software > Programmazione

PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte
Abbiamo provato le nuove CPU Intel Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: più core e ottimizzazioni al funzionamento interno migliorano le prestazioni, anche in virtù di prezzi annunciati interessanti. A questo si aggiungono nuove ottimizzazioni software. Purtroppo, a fronte di prestazioni di calcolo elevate, il quadro rimane incerto nel gaming, dove l'andamento rimane altalenante. Infine, rimane il problema della piattaforma a fine vita.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-09-2002, 16:45   #1
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
tra alcuni giorni ho l'esame, datemi qualche dritta

ciao a tutti!
tr un pò di giorni ho l'esame di fondamenti 1;
fin'ora mi sono esercitato su esercizi elementari come verifica del triangolo, equazione di secondo grado etc usando i tipi di dato, istruzioni condizionali switch if....else, cicli do...while, while e for...e me la sono cavata bene!

ora ho scaricato ilo programma dell'esame dal sito uni e la traccia dovrebbe come questa:

Si realizzi un progamma strutturato tramite funzioni che consenta:
di leggere da standard input un matrice di numeri interi, facendo
scegliere all'utente il riempimento di riga e di colonna (funzione
acquisisci);
di leggere da standard input una seconda matrice, le cui dimensioni
di riga e colonna siano fissate e pari a quelle della prima matrice
(funzione acquisisci2);
di stampare una matrice (funzione stampa);
di trovare il minimo di una matrice, restituendolo come valore di
ritorno della funzione (funzione minimo);
di sommare gli elementi sulla diagonale principale di una matrice
(funzione somma_diagonale);
di calcolare la somma delle due matrici salvando il risultato in una
terza matrice (funzione somma);

probabilmente non vorrà tutto il codice, ma solo di completarlo...e ho alcune domanducce da fare....:

1)
#define N 10
#define M 15

cosa significano?

2)
void acquisisci(int mat[N][M],int *n,int *m);
void stampa(int mat[N][M],int n,int m);
int minimo(int mat[N][M],int n,int m);
void acquisisci2(int mat[N][M],int n,int m);
void somma(int mat1[N][M],int mat2[N][M],int mat3[N][M],int n,int m);
int somma_diagonale(int mat[N][M],int n);

è necessario il void? perchè?
acquisisci e somma_diagonale sono 2 funzioni giusto? qual è il significato preciso del cotenuto delle parentesi?

aiutooooooooooooooooooo

__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2002, 19:21   #2
lombardp
Senior Member
 
L'Avatar di lombardp
 
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
Re: tra alcuni giorni ho l'esame, datemi qualche dritta

Quote:
Originariamente inviato da Gremo
[b]ciao a tutti!
tr un pò di giorni ho l'esame di fondamenti 1;
fin'ora mi sono esercitato su esercizi elementari come verifica del triangolo, equazione di secondo grado etc usando i tipi di dato, istruzioni condizionali switch if....else, cicli do...while, while e for...e me la sono cavata bene!

ora ho scaricato ilo programma dell'esame dal sito uni e la traccia dovrebbe come questa:

Si realizzi un progamma strutturato tramite funzioni che consenta:
di leggere da standard input un matrice di numeri interi, facendo
scegliere all'utente il riempimento di riga e di colonna (funzione
acquisisci);
di leggere da standard input una seconda matrice, le cui dimensioni
di riga e colonna siano fissate e pari a quelle della prima matrice
(funzione acquisisci2);
di stampare una matrice (funzione stampa);
di trovare il minimo di una matrice, restituendolo come valore di
ritorno della funzione (funzione minimo);
di sommare gli elementi sulla diagonale principale di una matrice
(funzione somma_diagonale);
di calcolare la somma delle due matrici salvando il risultato in una
terza matrice (funzione somma);
Argh!!! Quando ho fatto fondamenti 1 mi hanno fatto scrivere una specie di parser di file Pascal, in Pascal !!

Quote:
[b]
probabilmente non vorrà tutto il codice, ma solo di completarlo...e ho alcune domanducce da fare....:

1)
#define N 10
#define M 15

cosa significano?
In pratica sono costanti. Dove inserisci le parole N e M nel testo, esse vengono sostituite con 10 e 15 prima della compilazione.

Quote:
[b]
2)
void acquisisci(int mat[N][M],int *n,int *m);
void stampa(int mat[N][M],int n,int m);
int minimo(int mat[N][M],int n,int m);
void acquisisci2(int mat[N][M],int n,int m);
void somma(int mat1[N][M],int mat2[N][M],int mat3[N][M],int n,int m);
int somma_diagonale(int mat[N][M],int n);

è necessario il void? perchè?
Quando non lo metti è perché il compilatore lo sottintende. Diciamo che non fa mai male metterlo, per eleganza e completezza.

Vedi N e M nelle dichiarazioni di funzioni, quando compili al posto di N e M vengono messe le due suddette costanti.

Quote:
[b]
acquisisci e somma_diagonale sono 2 funzioni giusto? qual è il significato preciso del cotenuto delle parentesi?
A occhio:

ACQUISISCI deve riempirti la matrice MAT con i valori inseriti da tastiera e ritornarti in "n" e "m" le sue dimensioni in righe colonne. Infatti sia MAT che "n" che "m" sono passati per indirizzo.

SOMMA_DIAGONALE deve sommare la diagonale della matrice, la cui dimensione unica è "n", unica perché per esserci una diagonale devi avere una matrice quadrata in cui il numero di righe è uguale a quello delle colonne. La funzione deve ritornare il valore della somma.
__________________
---> Lombardp
CSS Certified Expert (Master Level) at Experts-Exchange
Proud user of LITHIUM forum : CPU technology
Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo
lombardp è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2002, 22:28   #3
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
grazie per le risposte
una cosa: sto da ore per chiarirmi il concetto di array, ho fatto ricerche, ma sto impazzendo....
so cos'è (un contenitore di elementi dello stesso tipo, caratterizzati da indice che li distingue, da 0 a n-1 )...ma non so assolutamente le operazioni da fare sui suoi elementi, l'utilità , e sopratutto come sono utilizzati nel documento allegato e perchè sono (a quanto ho capito) strettamente legati al ciclo for...

se avete qualche link, o avete la pazienza di spiegarmelo in parole povere (sopratutto il legame con il ciclo for, e l'incremento i++), o volete mandarmi un insulto , fatelo qui vi prego!

ciaooooo
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2002, 22:28   #4
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
ecco il code
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2002, 22:30   #5
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
eccolo non era andato!
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2002, 23:27   #6
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
allora, se chiarisci meglio quali sono i tuoi dubbi sull'uso degli array ti possiamo dare delle spiegazioni più chiare.

l'utilità innanzitutto è inutile che te la spieghi...
se devi memorizzare mettiamo 100 valori tu che fai? crei 100 variabili? no! fai un array di 100 elementi...
hai voglia a fare 100 assegnamenti ad ognuna delle variabili, fai il ciclo e con 2 istruzioni sei a posto...

operazioni da fare sugli elementi?
quelle che fai su una variabile...

perché sono legati al ciclo for?
perché un array ha l'indice, tu scrivendo array[i] ad esempio indichi che vuoi l'iesimo elemento (in realtà sarebbe l'iesimo + 1 visto che gli indici di un array partono da 0).
quando tu dici array[i] dici al programma che ti interessa prendere ciò che c'è in memoria all'indirizzo array + i, hai afferrato il concetto?
un array è un'area di memoria contigua di x byte, dove x lo specifichi tu quando crei l'array.
quando usi il for, con l'incremento della i, significa che ad ogni iterazione del ciclo consideri il successivo elemento dell'array, fino ad arrivare alla fine.

il codice non l'ho visto, cmq se hai altri dubbi sii più specifico.

ciao
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2002, 00:37   #7
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
forse inizio a capire qualcosa!
quindi, quando dopo la dichiarazione di array trovo:
for(i=1;i<100;1++)
questo ciclo non fa altro che "dare un numero" agli arrai da 0 a 99?
non mettendo il ciclo, cosa accadrebbe?
potre lo stesso operare su qualsiasi array, come "array[10]=pippo" ?
qual'è il legame con le matrici?

cia e grazie per l'aiuto

ps: che bello il nome della tua città
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2002, 06:13   #8
mjordan
Bannato
 
L'Avatar di mjordan
 
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR ‫Casco: XR1000 Diabolic 3
Messaggi: 27578
Quote:
Originariamente inviato da Gremo
[b]
ps: che bello il nome della tua città
mjordan è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2002, 08:21   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Gli array con na dimensione (int a[N]) li puoi in pratica accomunare alle matrici riga o colonna...mentre gli array bidimensionali (int m[N][M]) li puoi accomunare alle matrici...

Per accedere agli array puoi farlo direttamente :
a[10] = 100; //scrivi nell'undicesima posizione dell'array (ricordandoti che partono da zero)
a[9][4] = 15; //scrivi nella decima riga, quinta colonna

Oppure tramite una variabile intera :

a[x]
a[i][j]

In pratica i for o while (o qualsiasi altro ciclo) ti servono per operare sugli array variando i,j o x come faresti in negli algoritmi che lavorano sulle matrici...

Ad esempio "Sommatoria con i cha va da 1 a N(v(i))" dove v è un vettore di N elementi si traduce in questo modo :

int v[N];
int i, somma;

somma = 0;
for(i = 0; i < N; i++)
   somma += v[i];
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2002, 14:01   #10
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
Quote:
Originariamente inviato da Gremo
[b]forse inizio a capire qualcosa!
quindi, quando dopo la dichiarazione di array trovo:
for(i=1;i<100;1++)
questo ciclo non fa altro che "dare un numero" agli arrai da 0 a 99?
non mettendo il ciclo, cosa accadrebbe?
potre lo stesso operare su qualsiasi array, come "array[10]=pippo" ?
qual'è il legame con le matrici?

cia e grazie per l'aiuto

ps: che bello il nome della tua città
certo che puoi operare su un array al di fuori di un ciclo, nessuno ti vieta di dire array[10] = qualcosa per assegnare il contenuto della variabile qualcosa all'undicesima posizione.
però è raro che accada, se fai un array in genere è perché vuoi operare proprio con un ciclo...

se vuoi usare le matrici puoi fare come ti dice cionci più sopra, usi un doppio indice array[i][j] dove la i ti indica le colonne e la j le righe, oppure indicizzi l'array solo un una variabile e tieni conto che dopo x elementi (dove x è il numero di colonne) vai "a capo" nella riga successiva.

cmq anche tu hai notato il nome della città...
in genere la battutina è "ma a Erba ve ne fumate tanta?"
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2002, 15:56   #11
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
vediamo se ho capito, giudicate voi:


#include <stdio.h>
#define R 2/*max numero righe*/
#define C 2/*max numero colonne*/

main()
{
int determinante,a[R][C];
scanf("%d",&a[0][0]);
scanf("%d",&a[1][0]);
scanf("%d",&a[0][1]);
scanf("%d",&a[1][1]);
determinante=((a[0][0]*a[1][1])-(a[0][1]*a[1][0]));
printf("%d",determinante);
}


calcola il determinante della matrice quadrata 2x2. però non ho usato il for!!!
perkè ancora non ci arrivo? sono stupido?
non era lo stesso operare con 4 variabili??
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2002, 16:03   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Gremo
[b]vediamo se ho capito, giudicate voi:


#include <stdio.h>
#define R 2/*max numero righe*/
#define C 2/*max numero colonne*/

main()
{
int determinante,a[R][C];
scanf("%d",&a[0][0]);
scanf("%d",&a[1][0]);
scanf("%d",&a[0][1]);
scanf("%d",&a[1][1]);
determinante=((a[0][0]*a[1][1])-(a[0][1]*a[1][0]));
printf("%d",determinante);
}


calcola il determinante della matrice quadrata 2x2. però non ho usato il for!!!
perkè ancora non ci arrivo? sono stupido?
non era lo stesso operare con 4 variabili??
Certo...va bene il modo in cui hai operato...
Ma richiedi il numero di ricghe e il numero di colonne da tastiera e poi dimmi...oppure metti R = 50 e C = 50... In teoria potresti svilupparti anche tutto il prodotto, ma avrebbe poco senso...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2002, 16:29   #13
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
ho iniziato così, x me sbagliando:


#include <stdio.h>
#define R r/*ho detto che la variabile R deve essere r*/
#define C c/*ho detto che la variabile C deve essere c*/
main()
{
int a[R][C],a[r][c],determinante; /*dichiarazione dei 2 array*/
printf("INSERIRE IL NUMERO DI RIGHE: ");
scanf("%d",&r);
printf("INSERIRE IL NUMERO DI COLONNE: ");
scanf("%d",&c);
printf("%s%d%s%d%s","MATRICE A: ",r,"RIGHE E: ",c,"COLONNE");
a[r][c]=a[R][C];/*qui dico che la matrice a r righe e c colonne, definite dall'utente, deve corrispondere alla matrice a R righe e C colonne*/
for(r=0,r<R,r++);/*qui inizializzo r a 0, po dico che se r è minore di R, deve incrementerlo fino a raggiungere il valore di R;
for(c=0,c<C,c++);


dopo di questo non so come continuare;
se ho capito, l'utente inserisce ad esempio il valore arbitrario r; r all'inizio vale zero, con il ciclo for viene aumentato fino a R;
mettiamo caso r=4; for aumenta r da 0 fino a R=4;
in questo modo la matrice a[r][c] assume tutti i valori (crescenti) fino al valore definito dall'utente....

se il mio ragionamento non è sbagliato, x il prodotto della diagonale (a parte mettere una condizione x la matrice quadrata) sarebbe impensabile fare come ho fatto prima (però l'utente potrebbe anche mettere 100000 come valore) e non sarebbe neanche giusto porre un limite per righe e colonne!

come faccio?

grazie mille x mi siete di grande aiuto, è moltobrutto leggere su un foglio che non risponde alle domande

__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2002, 16:59   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Scusa, ma mi sembra che tua abbia un po' di confusione in testa...non solo sugli array, ma anche sul C

Le #define in quel modo non si possono usare (o meglio...le puoi usare, ma non servono a niente in questo caso...
Devi assegnare a R e C due valori che non vuoi siano superati durante l'immissione del numero di righe e colonne...
Ad esempio 50...

Quando immetti il numero di righe e colonne devi appunto controllare che r e c siano minori di R e C...altrimenti richiedi nuovamente i valori...

Non capisco cosa intendi per : int a[R][C],a[r][c]
a è già dichiarata...non puoi farlo più di una volta...
Basta che tu dichiari a[R][C] e poi durante il programma userai solo una parte di questa matrice...cioè quella r * c con r e c immessi da tastiera...

E non capisco nemmeno cosa vuoi fare qui :

a[r][c]=a[R][C];

for(r=0,r<R,r++);/*qui inizializzo r a 0, po dico che se r è minore di R, deve incrementerlo fino a raggiungere il valore di R;
for(c=0,c<C,c++);

Perchè vuoi sporcare il valore di r e c che hai immaesso da tastiera ? Dopo ti servono pechè indicano le dimensioni delle matrici che devi usare all'interno del programma...

D'accordo che funziona, ma al posto di questo :

printf("%s%d%s%d%s","MATRICE A: ",r,"RIGHE E: ",c,"COLONNE");

potresti scrivere tranquillamente questo :

printf("MATRICE A: %dRIGHE E: %dCOLONNE",r,c);
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 18-09-2002, 17:40   #15
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da cionci
[b]Scusa, ma mi sembra che tua abbia un po' di confusione in testa...non solo sugli array, ma anche sul C
ne sono consapevole sono agli inizi, ora giustificherò le cose che ho scritto;

Quote:
Le #define in quel modo non si possono usare (o meglio...le puoi usare, ma non servono a niente in questo caso...
Devi assegnare a R e C due valori che non vuoi siano superati durante l'immissione del numero di righe e colonne...
Ad esempio 50...
semplicemente volevo dire che R non doveva essere superiore a r immesso da tastiera, quindi scriverò:

#define R 5
#define C 5
che sonno costanti e corrispondono al massimo indice dell'array che dopo definisco, giusto? quindi in questo caso max 5, cioè valori da 0 a 4. potrei farlo anche con if giusto?
nel caso di define C 5, cosa succede se l'utente immette più di 5 valori? quale istruzione esegue? (in pratica, non esiste un else?)
se non ricordo male, e mi puoi confermare, il compilatore se ne frega, con conseguenza che l'array supera la sua dimensione fissa e potrebbe dare errori?
tu dici che come conviene farlo? define o if?

Quote:
Non capisco cosa intendi per : int a[R][C],a[r][c]
a è già dichiarata...non puoi farlo più di una volta...
Basta che tu dichiari a[R][C] e poi durante il programma userai solo una parte di questa matrice...cioè quella r * c con r e c immessi da tastiera...
volevo dichiarare 2 array per poi fare un confronto...

Quote:
E non capisco nemmeno cosa vuoi fare qui :
a[r][c]=a[R][C];
qui volevo assegnare un array ad un altro array.....
capisco che ho sbagliato!

Quote:
for(r=0,r<R,r++);/*qui inizializzo r a 0, po dico che se r è minore di R, deve incrementerlo fino a raggiungere il valore di R;
for(c=0,c<C,c++);
Perchè vuoi sporcare il valore di r e c che hai immaesso da tastiera ? Dopo ti servono pechè indicano le dimensioni delle matrici che devi usare all'interno del programma...
allora, ancora una volta non ho capito il significato del for
pensavo che servisse a dare gli indici all'array, che atrimenti sarebbero stati tutti 0...
nella mia testa, ovviamente
quindi non serve il for?

Quote:
D'accordo che funziona, ma al posto di questo :

printf("%s%d%s%d%s","MATRICE A: ",r,"RIGHE E: ",c,"COLONNE");

potresti scrivere tranquillamente questo :

printf("MATRICE A: %dRIGHE E: %dCOLONNE",r,c);
gusto personale

so che sono insistente, e ti ringrazio per la tua pazienza....
se hai icq, potrei chiederti alcune cose direttamente li!

alla fine dopo aver detto che l'array deve essere max 5x5, come faccio a indicargli il prodotto di una colonna x esempio? o di una diagonale?
devo scrivere per forza:
a[0][0]*......
oppure c'è un metodo più elegante/veloce?
e ancora, se non voglio un max di righe e colonne, come faccio?

spero di essere stato chiaro!

ps: che uni fai?
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 19-09-2002, 18:50   #16
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
non mi lasciate solo con i miei dubbi plz
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 20-09-2002, 09:42   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Al massimo ti posso fare un esempio...per chiarere i tuoi dubbi mi sa che ti serve un manuale o un libro sul C
Codice:
#include <stdio.h>

#define R 10 //massimo numero di righe
#define C 10 //massimo numero di colonne

void main()
{
	int a[R][C], b[R][C], c[R][C];
	int ar, ac, br, bc, i, j, k, somma;

	do {
		printf("\nInserire il numero di righe della matrice A : ");
		scanf("%d",&ar);
		//controllo che il numero immesso sia compreso fra 1 e R
		if(ar < 1 || ar > R)
			printf("\nIl numero di deve essere compreso fra 1 e %d\n",R);
	} while(ar < 1 || ar > R);

	do {
		printf("\nInserire il numero di colonne della matrice A : ");
		scanf("%d",&ac);
		//controllo che il numero immesso sia compreso fra 1 e C
		if(ac < 1 || ac > C)
			printf("\nIl numero di deve essere compreso fra 1 e %d\n",C);
	} while(ac < 1 || ac > C);

	//il numero di righe di B deve essere pari al numero di colonne di A
	printf("\nIl numero di righe di B e' %d. Necessario per fare il prodotto.\n",ac);
	br = ac;

	do {
		printf("\nInserire il numero di colonne della matrice B : ");
		scanf("%d",&bc);
		//controllo che il numero immesso sia compreso fra 1 e C
		if(bc < 1 || bc > C)
			printf("\nIl numero di deve essere compreso fra 1 e %d\n",C);
	} while(bc < 1 || bc > C);

	printf("\nIMMISSIONE DELLA MATRICE A\n");
	for(i=0; i<ar; ++i)
		for(j=0; j<ac; ++j)
		{
			printf("Inserire A(%d,%d) : ",i+1,j+1);
			scanf("%d",&a[i][j]);
		}

	printf("\nIMMISSIONE DELLA MATRICE B\n");
	for(i=0; i<br; ++i)
		for(j=0; j<bc; ++j)
		{
			printf("Inserisci B(%d,%d) : ",i+1,j+1);
			scanf("%d",&b[i][j]);
		}

	//Prodotto righe-colonne : c è una matrice ar*bc
	//Con i primi due for in pratica scorro gli elementi di c
	for(i=0; i<ar; ++i)
		for(j=0; j<bc; ++j)
		{
			//Ora devo sommare il prodotto fra gli elementi della
			//i-esima riga di a e la j-esima colonna di b
			//Con questo for scorro gli elementi dell'i-esima riga di a
			//e della j-esima colonna di b (ac == br)
			somma = 0; //uso questa varibile per comodità (e perchè è più veloce)
			for(k=0; k<ac; ++k)
				somma += a[i][k] * b[k][j];
			c[i][j] = somma;
		}
	
	//Visualizzo C
	printf("\nVISUALIZZAZIONE DELLA MATRICE C (%d righe x %d colonne)\n\n   ", ar, bc);
	for(j=0; j<bc; ++j)
		printf("%6d", j+1);
	printf("\n  |");
	for(j=0; j<bc; ++j)
		printf("------");

	for(i=0; i<ar; ++i)
	{
		printf("\n%2d|", i+1);
		for(j=0; j<bc; ++j)
			printf("%6d", c[i][j]);
	}
	printf("\n\n");
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2002, 16:56   #18
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
bhè mi sono un pò chiarito le idee e qualche programma l'ho fatto e funzionante per l'acquisizione, stampa a video e stampa su file...

ora vorrei chiederti come potrei sviluppare una bella funione per il calcolo del DETERMINANTE di una matrice!
qualcuno mi da qualche spunto?

ciao
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2002, 17:21   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Lo sai l'algoritmo per il calcolo del determinante ? Ecco...basta applicarlo alla lettera
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-09-2002, 20:27   #20
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
Quote:
Originariamente inviato da cionci
[b]Lo sai l'algoritmo per il calcolo del determinante ? Ecco...basta applicarlo alla lettera
col complemento algebrico?
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_
Gremo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
L'AI agentica potrebbe trasformare Inter...
Qualcomm lancerà due chip per sma...
Xiaomi dà i numeri: ecco come &eg...
AMD annuncia Ryzen 9 9950X3D2 Dual Editi...
CyrusOne avvia la costruzione del suo pr...
Cloud in crescita, ma l’adozione dell’IA...
OpenAI cancella l'adult mode di ChatGPT:...
Google Search Live arriva in Italia: la ...
MacBook Air 15'' con chip M4 (2025) crol...
Ora è possibile trasferire file t...
Apple domina con il MacBook Neo: i lapto...
Arriva la nuova gamma di PC Dell Pro per...
DJI Avata 360: la recensione del primo d...
Il browser di Samsung arriva su Windows,...
I satelliti AI Sat Mini per i datacenter...
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: 02:28.


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