Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Recensione Borderlands 4, tra divertimento e problemi tecnici
Recensione Borderlands 4, tra divertimento e problemi tecnici
Gearbox Software rilancia la saga con Borderlands 4, ora disponibile su PS5, Xbox Series X|S e PC. Tra le novità spiccano nuove abilità di movimento, un pianeta inedito da esplorare e una campagna che lascia al giocatore piena libertà di approccio
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale
NXTPAPER 60 Ultra è il primo smartphone con tecnologia NXTPAPER 4.0 per il display, un ampio IPS da 7,2 pollici. Con finitura anti-riflesso, processore MediaTek Dimensity 7400, fotocamera periscopica e modalità Max Ink per il detox digitale, NXTPAPER 60 Ultra punta a essere il riferimento tra gli smartphone pensati per il benessere degli occhi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-02-2005, 11:30   #1
terreldavis
Junior Member
 
Iscritto dal: Feb 2005
Messaggi: 13
help c++

ciao a tutti, è la prima volta che scrivo in questo forum. sono arrivato qui perche mi serve un aiuto . Sto preparando un esame di programmazione in c++ e mi sono incastrato con i puntatori nn riesco propio a capirli bene. vi riporto qui il programma che sto cercando di fare:

#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <math.h>

void gena(int *);


main()
{
int a[100][100], i,j;

srand(time(NULL));

gena(a); /*qui mi da errore*/

for(i=0;i<=100;i++){
for(j=0;j<=100;j++)
printf("%3d",a[i][j]);}


system("PAUSE");
return EXIT_SUCCESS;
}

void gena(int *array)
{
void rand(int *);
int x,y;

for (x=0;x<=100;x++){
for(y=0;y<=100;y++)
rand(&array[x][y]);}
}

void rand(int *element)
{
*element=(rand()%10)+1;
}


in pratica ho una matrice 100*100 e vorrei passarla alla funzione gena in modo da riempirla con numeri casuali. quando vado a compilare mi dice "cannot convert `int (*)[100]' to `int (**)[100]' for argument `1' to `void gena(int (**)[100])' " alla riga 14 cioè quando invoco la funzione.....ma è possibile che nn capisce che gli sto passando un vettore multidimensionale? come faccio a farglielo capire??......vi prego di aiutarmi sicuramente ci sono altri errori vi prego di farmi capire dove sbaglio..

grazie in anticipo
terreldavis è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2005, 12:53   #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: 8895
Codice:
#include <time.h> 
#include <iostream.h> 
#include <stdio.h> 
#include <stdlib.h>

#define N 10

void gena(int array[N][N]); 


int main(void) 
{ 
	int a[N][N], i,j; 
	srand(time(NULL)); 

	gena(a); /*qui mi da errore*/ 

	for(i=0;i<N;i++){ 
		for(j=0;j<N;j++) 
			printf("%3d",a[i][j]);
		printf ("\n");
	} 

	
	system("PAUSE"); 
	return EXIT_SUCCESS; 
} 

void gena(int array[][N]) { 
	int x,y; 
	for (x=0;x<N;x++){ 
		for(y=0;y<N;y++) 
			array[x][y] = rand()%10+1;
	}
}
guarda adesso

~§~ 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 19-02-2005, 13:11   #3
terreldavis
Junior Member
 
Iscritto dal: Feb 2005
Messaggi: 13
cosi mi funziona grazie... .ma mi spieghi cosa sbagliavo? io nn ho capito come si fa a passare un puntatore di una array bidimensionale a una funzione. è inutile l'asterisco che avevo messo nella dichiarazione della funzione gena? e la funzione rand che avevo fatto era totalmente sbagliata? se puoi dammi qualche chiarimento sti cavolo di puntatori propio nn mi entrano in testa , nn capisco bene come si unsano con le array...cmq grazie mille
terreldavis è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2005, 13:14   #4
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: 8895
1) avevi bagliato a passare la matrice ... quel metodo va bene con un array semplice

2) nei cicli non ci vuole l'uguale

~§~ 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 19-02-2005, 13:26   #5
terreldavis
Junior Member
 
Iscritto dal: Feb 2005
Messaggi: 13
nn vorrei essere troppo rompipalle.....ma precisamente perche ho sbagliato a passare la matrice? noto la correzione che mi hai fatto pero nn riesco a capire il motivo.
terreldavis è offline   Rispondi citando il messaggio o parte di esso
Old 19-02-2005, 14:15   #6
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: 8895
gli array bidimensionali si passano in quel modo

~§~ 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 20-02-2005, 22:11   #7
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
Array bidimensionale

un'altro paio di modi per passare un array bidimensionale magari anche senza conoscere preventivamente le dimensioni possono essere
Codice:
void function (int * vect[]);
//oppure
void function (int **vect);
è una cosa un pò strana ma se pensi bene una matrice non è nient'altro che un vettore di puntatori.

Ciao....
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2005, 04:56   #8
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
Re: Array bidimensionale

Quote:
Originariamente inviato da tglman
un'altro paio di modi per passare un array bidimensionale magari anche senza conoscere preventivamente le dimensioni possono essere
Codice:
void function (int * vect[]);
//oppure
void function (int **vect);
è una cosa un pò strana ma se pensi bene una matrice non è nient'altro che un vettore di puntatori.

Ciao....

a me sembra il secondo il più corretto di tutti quelli qui postati - tre se non sbaglio -

il primo suggerito è sporco perchè implica che si sappia che deve essere passata una matrice [][N] invece la matrice è [N][N] e quindi non c'è information hiding.
Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2005, 09:28   #9
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: 8895
Re: Re: Array bidimensionale

Quote:
Originariamente inviato da Black imp
a me sembra il secondo il più corretto di tutti quelli qui postati - tre se non sbaglio -

il primo suggerito è sporco perchè implica che si sappia che deve essere passata una matrice [][N] invece la matrice è [N][N] e quindi non c'è information hiding.
scusa ma la dimensione della matrice la sai comunque se no non potresti lavorarci sopra.

Altra cosa scrivere

Codice:
void funzione (int *array)
è identico che scrivere
Codice:
void funzione (int array[])
così è lo stesso discorso per i bidimensionali con l'aggiunta però di del valore nel secondo.

~§~ 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 22-02-2005, 16:19   #10
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
perche gli arrai bidimensionali variabili

Spesso definire gli array bidimensionali con dimensioni variabili è molto utile,
per esempio si può creare una funzione che cerchi una stringa in un vettore di stinge
del tipo
cerca(char *str,char *vetstr[],nstr_in_vett);

con questa funzione non devi sapere quando programmi il numero di stringhe su cui vai a lavorare ma te lo puoi calcolare mentre lo esegui senza limiti
tglman è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
TCL NXTPAPER 60 Ultra: lo smartphone che trasforma la lettura da digitale a naturale TCL NXTPAPER 60 Ultra: lo smartphone che trasfor...
Un fulmine sulla scrivania, Corsair Sabre v2 Pro ridefinisce la velocità nel gaming Un fulmine sulla scrivania, Corsair Sabre v2 Pro...
Nokia Innovation Day 2025: l’Europa ha bisogno di campioni nelle telecomunicazioni Nokia Innovation Day 2025: l’Europa ha bisogno d...
The Social Reckoning: il seguito di The ...
iPhone 16 si trova ora su Amazon a soli ...
Amazon fa a pezzi i prezzi dei monitor g...
Componenti hardware e periferiche PC a p...
Pianeta in crisi: 7 su 9 limiti vitali g...
Galaxy S25 FE con taglio di prezzo di 10...
4 robot aspirapolvere e 3 scope elettric...
Nuovissimi Xiaomi 15T e 15T Pro con tagl...
Le agenzie federali americane potranno u...
Smartphone pieghevoli sempre più ...
LG svela le Easy TV, una nuova gamma di ...
L'equipaggio della missione Shenzhou-20 ...
Possibili detriti spaziali del razzo cin...
Amazon distrugge i prezzi: TV OLED LG, i...
Trump studia dazi fino al 100% per sping...
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: 18:44.


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