Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-11-2005, 16:21   #1
pivaino
Member
 
Iscritto dal: Sep 2005
Messaggi: 51
[C] - syntax error : missing ';' before 'type'

Ciao a tutti, espongo subito il mio problema.
questo è il programma che ho:

Codice:
#include <stdio.h>
#define N 7
int diff (int[], int, int[]);

void main()
{
	int i;
	int a[N]={6,2,3,12,5,8,20};
	int b[N];
	for(i=0; i<N; i++){
		b[N]=diff(a, N, b);
		printf("L'array delle differenze è: ");
	}

int diff (int a[], int N, int b[])
{
	int i;
	for(i=1; i<N-1; i++)
		b[i]=a[i+1]-a[i];
	return b[i];
}
--------------------Configuration: Differenze in avanti - Win32 Debug--------------------
Compiling...
main.c
C:\Documents and Settings\Peppe\Desktop\Array1D\Differenze in avanti\main.c(15) : error C2143: syntax error : missing ';' before 'type'
C:\Documents and Settings\Peppe\Desktop\Array1D\Differenze in avanti\main.c(20) : warning C4098: 'main' : 'void' function returning a value
Error executing cl.exe.

main.obj - 1 error(s), 1 warning(s)
________________________________________________________
Perchè, qualsiasi cosa scrivo mi da sempre lo stesso errore che ho segnato in rosso??? Dov'è sbagliata la function diff??
Grazie per le eventuali risposte
pivaino è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 16:44   #2
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
Manca la parentesi graffa chiusa prima di "int diff"...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 16:46   #3
pivaino
Member
 
Iscritto dal: Sep 2005
Messaggi: 51
Quote:
Originariamente inviato da cionci
Manca la parentesi graffa chiusa prima di "int diff"...
Ca**o è vero...mi sto proprio cecando gli occhi con questi programmini
Grazie cionci
pivaino è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 16:48   #4
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 16:49   #5
pivaino
Member
 
Iscritto dal: Sep 2005
Messaggi: 51
Nooooooooooooo l'ho messa la {...ma ora mi da 4 errori!!!!!
vabbè ci rinuncio.
ciauz
pivaino è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 16:51   #6
::::Dani83::::
Senior Member
 
Iscritto dal: Jul 2003
Città: Rimini
Messaggi: 3395
mi sa che nn hai inizializzato bene la N
__________________
.
::::Dani83:::: è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 16:54   #7
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
Quote:
Originariamente inviato da pivaino
Nooooooooooooo l'ho messa la {...ma ora mi da 4 errori!!!!!
vabbè ci rinuncio.
ciauz
ci voleva ancora un' altra } prima dell' int diff per chiudere , oltre che l' if statement , anche il main ...
tu ne avevi messa solo una, logico che se ne aggiungi un' altra aperta gli errori aumentino
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 19-11-2005 alle 16:58.
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 16:57   #8
pivaino
Member
 
Iscritto dal: Sep 2005
Messaggi: 51
Quote:
Originariamente inviato da jappilas
ci voleva ancora un' altra } prima dell' int diff per chiudere , oltre che l' if statement , anche il main ...
tu ne avevi messa solo una, logico che se ne aggiungi un' altra aperta gli errori aumentino
No, ho sbagliato a scriverla qui nel post...ma ne prog. l'ho messa bene }
pivaino è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 16:58   #9
pivaino
Member
 
Iscritto dal: Sep 2005
Messaggi: 51
Quote:
Originariamente inviato da ::::Dani83::::
mi sa che nn hai inizializzato bene la N
Cioè??? HELP ME
pivaino è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 17:01   #10
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
questo warning
Quote:
C:\Documents and Settings\Peppe\Desktop\Array1D\Differenze in avanti\main.c(20) : warning C4098: 'main' : 'void' function returning a value
mi dava la conferma che il compilatore considerasse il return in fondo alla diff come ancora appartenente al main, quindi il main davvero non fosse chiuso
Quote:
Originariamente inviato da pivaino
Cioè??? HELP ME
dont worry, la N è #define-ita in cima altrimenti ti avrebbe dato un altro errore sulla dimensione dell' array
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 19-11-2005 alle 17:05.
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 17:10   #11
pivaino
Member
 
Iscritto dal: Sep 2005
Messaggi: 51
Riscritta bene, cioè cosi:

Codice:
#include <stdio.h>
#define N 7
int diff (int[], int, int[]);

void main()
{
	int i;
	int a[N]={6,2,3,12,5,8,20};
	int b[N];
	for(i=0; i<N; i++){
		b[N]=diff(a, N, b);}
		printf("L'array delle differenze è: ");
}

int diff (int a[], int N, int b[])
{
	int i;
	for(i=1; i<N-1; i++)
		b[i]=a[i+1]-a[i];
	return b[i];
}
mi da i seguenti errori in compilazione:
--------------------Configuration: Differenze in avanti - Win32 Debug--------------------
Compiling...
main.c
C:\Documents and Settings\Peppe\Desktop\Array1D\Differenze in avanti\main.c(15) : error C2143: syntax error : missing ')' before 'constant'
C:\Documents and Settings\Peppe\Desktop\Array1D\Differenze in avanti\main.c(15) : error C2143: syntax error : missing '{' before 'constant'
C:\Documents and Settings\Peppe\Desktop\Array1D\Differenze in avanti\main.c(15) : error C2059: syntax error : '<Unknown>'
C:\Documents and Settings\Peppe\Desktop\Array1D\Differenze in avanti\main.c(15) : error C2059: syntax error : ')'
Error executing cl.exe.

main.obj - 4 error(s), 0 warning(s)
___________________________________________________
tutti errori riferiti alla riga in rosso.
pivaino è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 17:13   #12
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
stavo appunto per chiedere che errori ti dà, perchè ora che leggo meglio, l' algoritmo mi suona un po' strano
... nel main hai un loop per riempire gli N elementi di b con una funzione, e va bene
però la diff fa (qualcosa) sugli elementi di a per poi ritornare (come secondo membro di un' assegnazione) di nuovo degli elementi di b...

in pratica vuoi fare <delle cose> su una stessa variabile (l' array b) da due posti diversi annidando due cicli: sicuro che ti serva proprio una cosa del genere ?
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 19-11-2005 alle 17:27.
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 17:19   #13
pivaino
Member
 
Iscritto dal: Sep 2005
Messaggi: 51
Quote:
Originariamente inviato da jappilas
stavo appunto per chiedere che errori ti dà, perchè ora che leggo meglio, l' algoritmo mi suona un po' strano
... nel main hai un loop per riempire gli N elementi di b con una funzione, e va bene
però la diff fa (qualcosa) sugli elementi di a per ritornare (come secondo membro di un' assegnazione) di nuovo degli elementi di b...

in pratica hai due cicli annidati: ti servono?
Non saprei perche il prof. ce l'ha fatto strutturare cosi in aula!!!
pivaino è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 17:32   #14
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
Quote:
Originariamente inviato da pivaino
Non saprei perche il prof. ce l'ha fatto strutturare cosi in aula!!!
certo che sono proprio passati i tempi in cui i prof facevano fare il programma per calcolare il fattoriale o il num. di fibonacci e l' implementazione era praticamente impossibile da sbagliare... adesso si devono sbizzarrire...
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 19-11-2005 alle 18:28.
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 17:37   #15
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
"N" è una costante che vale in tutte le funzioni del tuo programma, quindi che bisogno hai di passarlo alla funzione "diff"?
"N" non è un int... è come se facessi int 6

Ultima modifica di kk3z : 19-11-2005 alle 17:42.
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 17:45   #16
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
Quote:
Originariamente inviato da kk3z
"N" è una costante che vale in tutte le funzioni del tuo programma, quindi che bisogno hai di passarlo alla funzione "diff"?
"N" non è un int... è come se facessi int 6
infatti, me lo stavo chiedendo,
come mi chiedevo anche per quale motivo nel loop si va ogni volta ad assegnare non l' elemento i-esimo di b, ma quello N esimo (che non esiste, perchè l' indice dell' ultimo elemento in un array di dimensione N è N-1), quindi già qui c' è un errore

ma anche se fosse scritto N-1, tu lasceresti indefiniti gli altri N-1 elementi dell' array per avere un <qualcosa> scritto nell' ultima cella
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 19-11-2005 alle 17:57.
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 17:50   #17
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Codice:
int b[N];
for(i=0; i<N; i++){
    b[N]=diff(a, N, b);}
Ciao, sei sicuro dell'assegnazione che ho marcato in rosso??? Così vai fuori dall'array!
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 17:56   #18
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
Quote:
Originariamente inviato da andbin
Codice:
int b[N];
for(i=0; i<N; i++){
    b[N]=diff(a, N, b);}
Ciao, sei sicuro dell'assegnazione che ho marcato in rosso??? Così vai fuori dall'array!
l' avevo scritto anch'io, ma repetita juvant
se non ricordo male, inizializzare l' array a dimensione fissa impedisce di sfondarlo dopo... è il caso delle stringhe o dei vettori di cui non si sa a priori la dimensione a essere problematico

...allora, partiamo dal presupposto che tu voglia ottenere di salvare in b un vettore di differenze di questo tipo ( 2-6, 3-2, 12-3, 5-12, 8-5, 20-8 )

si vede che tale vettore sarà composto da 6, cioè 7-1, cioè N-1, elementi, il che forse spiegherebbe l' N-1 nel loop della diff()...
però allora secondo me si dovrà dimensionare b a N-1 e non avrà senso nè fare un loop annidato, nè iterare N volte quello nel main: l' algoritmo che si ottiene ha un implementazione in codice già ai minimi termini, quindi non avrebbe molto senso dichiarare funzioni aggiuntive come diff(a,i) per fare a[i+1]-a[i] ... (*)

(*) a meno che il vero scopo dell' esercizio non fosse semplicente farti fare pratica con le chiamate a funzione per valore e per riferimento...
o a meno che non fosse esplicitamente richiesto che l' array delle differenze generato non fosse anche ordinato o elaborato in altro modo...

Codice:
#include <stdio.h>
#define N 7
// int diff (int[], int, int[]); inutile 

void main()
{
	int a[N]={6,2,3,12,5,8,20};
	int b[N-1];
	for(int i=0; i<N-1; i++)
	{
		b[i] = a[i+1] - a[i];    //invece di diff(a, N, b); // 
	}
	printf("L'array delle differenze è: %d %d %d %d %d %d\n", 
		b[0], b[1], b[2], b[3], b[4], b[5] ); 
}
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 19-11-2005 alle 19:58.
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 19-11-2005, 21:51   #19
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
in caso la richiesta fosse stata ordinare l' array delle differenze risultanti,
guarda se ti piace questa soluzione con un insertion sort (riciclabile!) da 4 lines of code reali

Codice:
#include <stdio.h>
#include <stdlib.h>
#define N 7

void insertsort(int val, int* vector)  // O(n^2) // N>1 //
{
	int i=0;
	for (int j=0; j<N-1; j++)
		if (val>vector[i])
			i++;
	for (int k=N-2; k>i; k--) 
		vector[k+1]=vector[k];
	vector[i]=val;
};

void main()
{
	int diff;	
	int A[N]={6, 2, 3, 12, 5, 8, 20};
	int B[N-1];
	for (int i=0; i<N-1; i++)
	{
		diff=A[i+1]-A[i];
		insersort(diff, B);
	}
	printf("L'array delle differenze è: %d %d %d %d %d %d\n",
		B[0], B[1], B[2], B[3], B[4], B[5]);
}
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 20-11-2005 alle 23:00.
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 20-11-2005, 10:38   #20
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
il problema non è nell'array....ma è in questa:
Codice:
int diff(int a[], int N, int b[])
prova a scriverla così:
Codice:
int diff(int a[], int b[])
e vedi che tutto comincia a funzionare
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
La Camera USA presenta il conto: i data ...
Non solo EV, ma anche IA: Panasonic inau...
iPhone Duo, il debutto del pieghevole di...
Atlas 960E SuperPoD, la risposta di Huaw...
IA militare e nucleare: esperti USA e ci...
Dieci mini-reattori nucleari in Europa d...
CONTROL Resonant su PC: Path Tracing, Ra...
ColorOS 17 arriva su circa 90 dispositiv...
GTA VI, il multiplayer potrebbe debuttar...
Aggiornamento KB5002914 rompe Excel: ecc...
Processo Huawei a Brooklyn: l'FBI mostra...
WhatsApp introduce nuovi temi per le cha...
NVIDIA, Google e Emerald AI uniscono le ...
iPhone 18 Pro Max, il test sulla vapor c...
Fine estate in giardino: le proposte sco...
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: 21:19.


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