|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2004
Città: Perugia
Messaggi: 1508
|
Matrice quadrata
Salve, volevo sapere...come posso riempire una matrice quadrata a banda con un indice di sparsità dell'80% con il linguaggio c ?
__________________
CPU: Intel i7 860 2.8Ghz - Intel H57 - RAM: 8Gb DDR3 1333Mhz - HD: Samsung SSD EVO 120Gb + 1Tb Sata WD - Audio: Realtek HD Audio @ Softmod X-Fi - VGA: Sapphire 7850 OC 2Gb GDDR5 - Masteriz BluRay - Monitor: Samsung T260HD - Casse: Creative Gigaworks S750 - Windows 8.1 x64 - Rete: Cisco 877 + DIR-868L - ADSL: Tiscali 20Mega Fast
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jun 2004
Città: Perugia
Messaggi: 1508
|
Up
__________________
CPU: Intel i7 860 2.8Ghz - Intel H57 - RAM: 8Gb DDR3 1333Mhz - HD: Samsung SSD EVO 120Gb + 1Tb Sata WD - Audio: Realtek HD Audio @ Softmod X-Fi - VGA: Sapphire 7850 OC 2Gb GDDR5 - Masteriz BluRay - Monitor: Samsung T260HD - Casse: Creative Gigaworks S750 - Windows 8.1 x64 - Rete: Cisco 877 + DIR-868L - ADSL: Tiscali 20Mega Fast
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
ehm se mi spieghi cosa vuoi fare in maniera + semplice ti posso aiutare.
Cmq per dichiarare e scorre una matrice guarda il codice che ti ho postato Codice:
#include <stdio.h>
const N 10
int main (void){
int MatrQ [N][N];
for (int i=0;i<N;i++){ //scorri le righe
for (int j=0;j<Nj++){ //scorri le colonne
MatrQ [i][j] = valore;
}
}
return (0);
}
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2004
Città: Perugia
Messaggi: 1508
|
Deve essere riempita a caso e i numeri diversi da zero devono esserne solo l'80 %
__________________
CPU: Intel i7 860 2.8Ghz - Intel H57 - RAM: 8Gb DDR3 1333Mhz - HD: Samsung SSD EVO 120Gb + 1Tb Sata WD - Audio: Realtek HD Audio @ Softmod X-Fi - VGA: Sapphire 7850 OC 2Gb GDDR5 - Masteriz BluRay - Monitor: Samsung T260HD - Casse: Creative Gigaworks S750 - Windows 8.1 x64 - Rete: Cisco 877 + DIR-868L - ADSL: Tiscali 20Mega Fast
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
capito lo faccio 10 min e te lo posto
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2004
Città: Perugia
Messaggi: 1508
|
Okey grazie MILLE
__________________
CPU: Intel i7 860 2.8Ghz - Intel H57 - RAM: 8Gb DDR3 1333Mhz - HD: Samsung SSD EVO 120Gb + 1Tb Sata WD - Audio: Realtek HD Audio @ Softmod X-Fi - VGA: Sapphire 7850 OC 2Gb GDDR5 - Masteriz BluRay - Monitor: Samsung T260HD - Casse: Creative Gigaworks S750 - Windows 8.1 x64 - Rete: Cisco 877 + DIR-868L - ADSL: Tiscali 20Mega Fast
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
Codice:
#include <stdio.h>
#include <windows.h>
#include <time.h>
#define N 5
int main (void){
int iReg = N*N*0.8; //indici di sparsità del 80%
int iApp=0; //variabile di appoggio per sapere quanti zero si sono inseriti
int MatrQ [N*N]; // matrice quadrata
int iVal;
srand(time(NULL));
/* riempimento dell'array con valori casuali */
for (int i=0;i<N*N;i++){
MatrQ [i] = rand ();
if (MatrQ [i]== 0){
if (iApp == iReg){ /* abbiamo già inserito iReg 0 */
do{
MatrQ[i] = rand();
}while (MatrQ[i] != 0);
}
else iApp++;
}
}
/* inserimento dei rimanenti zeri */
while (iApp < iReg){
iVal = rand()%(N*N);
if (MatrQ [iVal] != 0){
MatrQ [iVal] =0;
iApp++;
}
}
i=1;
for (int j =0;j<N*N;j++){
printf ("%d\t",MatrQ[j]);
if (j == N*i-1){
i++;
printf ("\n");
}
}
system ("PAUSE");
return (0);
}
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
ho lavorato su un array per semplificare di molto il problema
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2004
Città: Perugia
Messaggi: 1508
|
Non sò come ringraziarti......GRAZIE MILLEEEEEEEEEEE
__________________
CPU: Intel i7 860 2.8Ghz - Intel H57 - RAM: 8Gb DDR3 1333Mhz - HD: Samsung SSD EVO 120Gb + 1Tb Sata WD - Audio: Realtek HD Audio @ Softmod X-Fi - VGA: Sapphire 7850 OC 2Gb GDDR5 - Masteriz BluRay - Monitor: Samsung T260HD - Casse: Creative Gigaworks S750 - Windows 8.1 x64 - Rete: Cisco 877 + DIR-868L - ADSL: Tiscali 20Mega Fast
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
una birra va + che bene
scherzo buon lavoro se hai problemi o dei dubbi chiedi pure ~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8896
|
ho apportato una modifica cioè se vuoi che gli elementi siano compresi tra tra il valore -VAL e + VAL
Codice:
#include <stdio.h>
#include <windows.h>
#include <time.h>
#define N 10
#define VAL 30 // range dei valori
int expo (int exp){
if (exp % 2 == 0) return 1;
return -1;
}
int main (void){
int iReg = N*N*0.8; //indici di sparsità del 80%
int iApp=0; //variabile di appoggio per sapere quanti zero si sono inseriti
int MatrQ [N*N]; // matrice quadrata
int iVal;
srand(time(NULL));
/* riempimento dell'array con valori casuali */
for (int i=0;i<N*N;i++){
iVal = rand()%VAL;
MatrQ [i] = expo(iVal) * iVal;
if (MatrQ [i]== 0){
if (iApp == iReg){ /* abbiamo già inserito iReg 0 */
do{
MatrQ[i] = rand();
}while (MatrQ[i] != 0);
}
else iApp++;
}
}
/* inserimento dei rimanenti zeri */
while (iApp < iReg){
iVal = rand()%(N*N);
if (MatrQ [iVal] != 0){
MatrQ [iVal] =0;
iApp++;
}
}
i=1;
for (int j =0;j<N*N;j++){
printf ("%d\t",MatrQ[j]);
if (j == N*i-1){
i++;
printf ("\n");
}
}
system ("PAUSE");
return (0);
}
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:13.










- Windows 8.1 x64 - Rete: Cisco 877 + DIR-868L - ADSL: Tiscali 20Mega Fast









