Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-05-2012, 00:31   #1
peppedilillo
Junior Member
 
Iscritto dal: May 2012
Messaggi: 8
[C] funzione per allocare matrice dinamicamente

Codice:
#include <stdio.h>
#include <stdlib.h>

int** alloca(int,int);



main()
{
	int **mat,i,j;
	

	mat=alloca(2,2);
	
	for(i=0;i<2;++i)
	{
		for(j=0;j<2;++j)
			mat[i][j]=0;
	}

}

	
int** alloca(int r,int c)
{
	int **matrix,i;
	
	matrix = (int**)malloc(r*sizeof(int*));
	for (i=0; i<r; i++)
		matrix[i] = (int*)malloc(c*sizeof(int));
	
	return matrix;
}

ciao ragazzi!

sto provando a scrivere una funzione che allochi dinamicamente una matrice di n righe ed m colonne.

compilando ottengo gli errori:

test2.c:6:21: error: macro "alloca" passed 2 arguments, but takes just 1
test2.c:6: error: ‘alloca’ redeclared as different kind of symbol
test2.c:15:16: error: macro "alloca" passed 2 arguments, but takes just 1
test2.c:26:25: error: macro "alloca" passed 2 arguments, but takes just 1
test2.c:27: error: syntax error before ‘{’ token
test2.c:30: error: ‘r’ undeclared here (not in a function)
test2.c:30: warning: initialization makes integer from pointer without a cast
test2.c:30: error: initializer element is not constant
test2.c:30: warning: data definition has no type or storage class
test2.c:31: error: syntax error before ‘for’


la linea 6 è quella relativa la dichiarazione della funzione alloca
int** alloca(int,int);

Qualcuno riesce ad aiutarmi? : - (
peppedilillo è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2012, 08:30   #2
AllerITA
Member
 
L'Avatar di AllerITA
 
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
Prova così:

Codice:
#include <stdio.h>
#include <stdlib.h>

int* allocare(int maxx,int maxy);



int main()
{
	int *mat,i,j,maxx,maxy;
	maxx=2;
	maxy=2;
	

	mat=allocare(maxx,maxy);

	// errore non posso allocare nella Heap la matrice
	if ( NULL == mat) return 0; 
	
	for(i=0;i<maxx,i++) //incremento dopo i
	{
		for(j=0;j<maxy;j++) //incremento dopo j
			*(mat+(j+i*maxy))=0; // mat[i][j]=0; EDIT: Errore grave mio corretto successivamente
	}
	return 0;

}

	
int* allocare(int maxx,int maxy)
{
	int *matrix;
	

	// alloco uno spazio di memoria pari a max righe per il numero di max colonne
	matrix = (int *)malloc(sizeof(int)*(maxx*maxy)); 
	return matrix;
}
se non ho fatto errori di digitazione così dovrebbe andare.
Comunque se ne ho fatti scusatemi perche ho tirato il codice giù a memoria.

EDIT: ho riguardato il codice he come avevo anticipato ho fatto degli errori di concetto.
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb

Ultima modifica di AllerITA : 06-05-2012 alle 06:35.
AllerITA è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2012, 09:37   #3
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Quote:
Originariamente inviato da peppedilillo Guarda i messaggi
Qualcuno riesce ad aiutarmi? : - (
Il codice va benissimo ma devi cambiare il nome della funzione

alloca

Non so quale compilatore usi ma la alloca è una macro definita da qualche parte.
lorenzo001 è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2012, 10:23   #4
peppedilillo
Junior Member
 
Iscritto dal: May 2012
Messaggi: 8
grazie mille a entrambi ragazzi!


a presto!!
peppedilillo è offline   Rispondi citando il messaggio o parte di esso
Old 05-05-2012, 10:26   #5
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
man alloca: funzione di allocazione piuttosto particolare (alloca dinamicamente nello stack frame), non POSIX, di origine probabilmente BSD-iana.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 06-05-2012, 06:41   #6
AllerITA
Member
 
L'Avatar di AllerITA
 
Iscritto dal: Oct 2010
Città: Savona
Messaggi: 194
UP ho corretto un errore grave e fuorviante che potrebbe portare dei problemi al programma.

Codice:
              //è corretto cosi:
              *(mat+(j+i*maxy))=0; // mat[i][j]=0
__________________
AMD Phenom II X6 3Ghz, MB Gigabyte 790xta-ud4 F4A, 4Gb Ram ddr3, HD Segate Barracuda 1T, SV ASUS GTX 560 Ti DirectCu II ,Monitor Philips 1920x1080 led 2 ms, Xbox360 Slim, Tablet Asus Transformer Pad TF300T, Gameboy Advance, Ipod Touch 16Gb
AllerITA è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
Prima guida con GAC Aion V: interni prem...
Gli investitori frenano su Anthropic: IP...
Il meglio di Amazon in 10 articoli: 1, 2...
OpenAI, un modello GPT-5.6 Sol ha usato ...
Google testa Ask Google Help: l'IA di Ge...
Apple aggiorna l'elenco dei prodotti obs...
Renault 5 si aggiorna anche in Italia: p...
L’IA fa il lavoro dei junior. Ma le impr...
Google riduce gli errori quantistici di ...
Xpeng Mona L05: un SUV da 4,87 metri con...
CERN e Mistral AI insieme per il primo L...
Le analisi approfondite sullo scudo term...
Chery Q arriva in Italia: 380 km, trazio...
Rocket Lab rinvia il primo lancio di Neu...
Tutti gli astronauti della missione spaz...
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: 07:29.


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