Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti
Con un semplice dialogo in linguaggio naturale e la potenza di una scheda video di fascia alta è possibile costruire software funzionante da zero, senza scrivere una riga di codice e senza inviare un solo byte dei propri dati a server esterni
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-02-2005, 09:59   #1
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
[Linguaggio C] Allocazione dinamica di una matrice bidimensionale

come si fa ?

grazie 1000
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2005, 10:24   #2
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
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: 8897
devi usare calloc

~§~ 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
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2005, 11:05   #3
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
esempio scusa ?

supponiamo di partire da questa:

matrice[10][10];

ma durante l'esecuzione del programma mi serve la medesima matrice di 100x100 elementi, cosa scrivo ?

non mi era mai capitata una situazione con gli array
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2005, 12:15   #4
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
data una matrice fatta così, esiste un algoritmo che mi determina la lunghezza dei percorsi?

Codice:

•••••••••••         •e
•••       •         ••
•••       •         ••
•••       ••   •••••••
••••••••••••••••     •
•      •••••••••     •
s           ••••     •

s = start
e = end
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2005, 12:43   #5
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
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: 8897
ci sono vari algoritmi che cercano le strade migliori. Se non erro uno si chiamava di dijistra o simile.

per un array è così quindi ti crei un array
Codice:
#include <stdio.h>
#include <stdlib.h>

int main (void){
	int *pMatrice;
	pMatrice = (int*) calloc (10*10, sizeof(int));
	for (int i=0;i<100;i++){
		pMatrice[i]=i+1;
	}
	for (i=0;i<100;i++){
		printf ("%d\t",pMatrice[i]);
		if (i==i*10 && i!=0) printf ("\n");
	}
	
	printf ("\n\n\n\n\n2 elemento della 3 riga:%d",pMatrice[3*10+2]);

	system ("PAUSE");
	return (0);
}
questo è un metodo

~§~ 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
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2005, 13:23   #6
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
grazie Fenomeno85

ho trovato pure questo

Codice:
        int i;
        int **p;
        p = (int**)malloc(riga*sizeof(int*));
        for(i = 0; i <= colonna; i++)
            p[i] = (int*) malloc(colonna*sizeof(int));

se riga = 10 e colonna = 10

dovrebbero venire allocati (10*4) + (10*4) = 160 (byte) o sbaglio ?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2005, 16:18   #7
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
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: 8897
si dovrebbero essere 160 byte però poi la dimensione dei valori dipende anche dall'architettura se non ricordo male ... cmq possono variare questo son sicuro.

~§~ 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

Ultima modifica di Fenomeno85 : 16-02-2005 alle 16:20.
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 16-02-2005, 22:53   #8
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16215
Quote:
Originariamente inviato da Fenomeno85
ci sono vari algoritmi che cercano le strade migliori. Se non erro uno si chiamava di dijistra o simile.
Dijkstra, pronunciato DIX-tra.
__________________
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 16-02-2005, 22:55   #9
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16215
Quote:
Originariamente inviato da misterx
Codice:
        int i;
        int **p;
        p = (int**)malloc(riga*sizeof(int*));
        for(i = 0; i <= colonna; i++)
            p[i] = (int*) malloc(colonna*sizeof(int));

se riga = 10 e colonna = 10

dovrebbero venire allocati (10*4) + (10*4) = 160 (byte) o sbaglio ?
No, un po' di più.
Il motivo è che allochi prima una sequenza di puntatori a int, e poi dieci sequenze di dieci int ciascuna.
Quindi la memoria totale allocata è riga*sizeof(int*) + riga*colonna*sizeof(int).

A proposito: nel for su i, la seconda condizione deve essere "i < riga".
__________________
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-02-2005, 09:46   #10
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
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: 8897
Quote:
Originariamente inviato da Ziosilvio
Dijkstra, pronunciato DIX-tra.
grazie x l'info sul nome

~§~ 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
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2005, 10:57   #11
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da Ziosilvio
No, un po' di più.
Il motivo è che allochi prima una sequenza di puntatori a int, e poi dieci sequenze di dieci int ciascuna.
Quindi la memoria totale allocata è riga*sizeof(int*) + riga*colonna*sizeof(int).

A proposito: nel for su i, la seconda condizione deve essere "i < riga".


dei cammini minimi a sorgente singola, sai nulla ?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2005, 20:54   #12
mpattera
Senior Member
 
L'Avatar di mpattera
 
Iscritto dal: Dec 2004
Città: Parma
Messaggi: 1037
Quote:
Originariamente inviato da Fenomeno85
ci sono vari algoritmi che cercano le strade migliori. Se non erro uno si chiamava di dijistra o simile.
dijkstra serve per trovare il cammino minimo tra due nodi di un grafo pesato.
mpattera è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Nothing Ear (3) a 119€: gli auricolari c...
Roborock Qrevo Curv 2 Flow a 499€ e Saro...
Apple avvisa dello spyware in quattro po...
Xiaomi svela gli interni (assurdi) di Sk...
Framework Laptop 12: la nuova generazion...
iPhone 18 Pro, si parla di 200-300 euro ...
La società cinese Landspace &egra...
Un mese di stretta di Instagram, i video...
Anche Geely sale sul treno dello stato s...
Spotify porta Running Mode su Android: l...
Il meglio di Amazon in 5 offerte super s...
Apple abbassa le barriere per gli store ...
Scatole cinesi per NIO: le stazioni di s...
L'algoritmo di X premia quello che ti fa...
32GB di RAM, 1TB di SSD, processore Core...
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: 10:25.


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