Programmazione

Evolvix 85

One is All, All is One
Allora, premesso che ho appena incominciato ad entrare nel mondo degli array, avevo visto un programma che faceva la media aritmetica di 5 numeri usando quest'ultimo, io ho voluto farlo con quanti numeri decidevo io, per quello l'array si presenta in quella forma (tralasciamo l'inutilità di un array in questi casi).

Io avevo fatto in quel modo lì, ed il programma funzionava bene, mentre ora che l'ho rifatto non mi funziona... e no, non mi permette di metter nessun input, appena eseguo smette di funzionare.

Edit: ho modificato gli accenti, ma non cambia nulla.
 
Ultima modifica di un moderatore:

Maze

TypoMzn
Wiki
Come detto da me e da Ombra, devi usare la malloc, in C non si possono avere array di dimensione non costante a tempo di compilazione senza usare la memoria dinamica.
 

Evolvix 85

One is All, All is One
Ho modificato così il codice:

#include <stdio.h>
int main()
{
int a;
printf("Inserisci la quantita' di numeri di cui fare la media: ");
scanf("%d", &a);
float num[a];
float med=0;
int i;
for(i=0; i<a; i++)
{
printf("\nValore n.% ", i);
scanf("%f", &num);
med+=num;
}
med/=a;
printf("\nLa media aritmetica e': %.2f", med);
getch();
return 0;
}

Risultato: funziona alla perfezione.
 

Gkx

Admin
Domanda noob: "Non si fa tutto prima con PHP?".
se la domanda è "perché non usare un linguaggio di più alto livello per operazioni banali come questa?" ne abbiamo già discusso per un paio di pagine, rileggi il topic

se la domanda è "perché non usare php per tutto?" ti prego di argomentarla perché in risposta mi vengono solo brutte parole...

Ehm... non capisco.

Questa è programmazione in C.

PHP: http://www.aiutopc.com/guide_webmaster/guidaphp/
hai linkato una guida a php 3 che è una sql injection vagante...
 

Gkx

Admin
Perché dovrebbe esserlo?
php 3 è del MILLENOVECENTONOVANTOTTO, ha bachi e bad practices a non finire

negli esempi che ci sono in quella pagina si passano dei valori in post/get (che ovviamente php 3 inserisce da solo nel namespace globale) direttamente a una query sql, senza alcun tipo di validazione... devo dire altro?
 
Ultima modifica di un moderatore:

Nanashi

Socio del Gengar col cappello
php 3 è del MILLENOVECENTONOVANTOTTO, ha bachi e bad practices a non finirenegli esempi che ci sono in quella pagina si passano dei valori in post/get (che ovviamente php 3 inserisce da solo nel namespace globale) direttamente a una query sql, senza alcun tipo di validazione... devo dire altro?
Sì gika ti do ragione su questo, ma la mia intenzione era linkare una pagina con definizione di ciò che fosse il PHP, non postare una guida al PHP
 

Gkx

Admin
allora potevi, ehm, non postare una guida...

comunque (anche considerando che penso che sneffel sappia benissimo cos'è il php) direi di chiuderla qui
 

Iro

Amministratore di condominio
Domanda noob: "Non si fa tutto prima con PHP?".

 
Sì beh, montiamo un server php per fare esercizietti da newbie, non installiamo un interprete python o un compilatore c..
 

DWarez

Rappresentante di classe
Ho modificato così il codice:

#include <stdio.h>
int main()
{
int a;
printf("Inserisci la quantita' di numeri di cui fare la media: ");
scanf("%d", &a);
float num[a];
float med=0;
int i;
for(i=0; i<a; i++)
{
printf("\nValore n.% ", i);
scanf("%f", &num);
med+=num;
}
med/=a;
printf("\nLa media aritmetica e': %.2f", med);
getch();
return 0;
}

Risultato: funziona alla perfezione.
Si era ovvio, non poteva assegnare un valore reale all'array se non definivi prima il valore della variabile :v
 

Iro

Amministratore di condominio
sono tutti errori per cui basterebbe usare un semplice debugger, sia gdb che uno di quelli integrati negli ide..
 

Evolvix 85

One is All, All is One
Più che altro credevo che non potessi usare una variabile come dimensione dell'array anche se dichiaravo il suo valore all'eseguire del programma, ovvero credevo bisognasse per forza definirla nel codice.

Comunque ho problemi a capire gli array bidimensionali, la loro funzionalità ed il loro uso... ad esempio num[4] equivale a num[2][2], ma come posso sfruttare la sua "bidimensionalità"? Cercavo di fare un programma in cui io dovessi inserire i 4 valori dell'array e che poi mi desse l'elenco dei valori che avevo scritto, quindi avevo usato due cicli for in modo tale da dare tutti e 4 i valori, ma poi non riuscivo a riportare i valori che avevo scritto con un altro for, mi dava dei numeri strani...
 

DWarez

Rappresentante di classe
Comunque ho problemi a capire gli array bidimensionali, la loro funzionalità ed il loro uso... ad esempio num[4] equivale a num[2][2], ma come posso sfruttare la sua "bidimensionalità"? Cercavo di fare un programma in cui io dovessi inserire i 4 valori dell'array e che poi mi desse l'elenco dei valori che avevo scritto, quindi avevo usato due cicli for in modo tale da dare tutti e 4 i valori, ma poi non riuscivo a riportare i valori che avevo scritto con un altro for, mi dava dei numeri strani...
Sinceramente li ho studiati anche io, ma non riesco a capire un utilizzo pratico :C
 

Evolvix 85

One is All, All is One
import java.util.Scanner;

public class Somma
{
public static void main(String[] args)
{
Scanner input= new Scanner(System.in);
System.out.print("Inserisci il primo numero: ");
int x=input.nextInt();
System.out.println("Inserisci il secondo numero: ");
int y=input.nextInt();
System.out.println("La somma dei due numeri vale: "+(x+y));
}
}

Buongiorno a tutti! Ho fatto questo programma che fa la semplice somma di due numeri, e funziona, ma vi volevo chiedere delle informazioni su questo warning: "Resource leak: 'input' is never closed". Da quello che ho capito, io non ho chiuso l'input (?), ma come devo fare a chiuderlo? Grazie.
 

Gkx

Admin
non conosco java, ma il primo risultato di google* per il warning è un post su stackoverflow che dice che dovresti fare così:

input.close(); 
* tra l'altro cercare su google gli errori del compilatore è il 99% della programmazione
 
Ultima modifica di un moderatore:

Iro

Amministratore di condominio
io non ho chiuso l'input (?)
proprio come regola della mano destra, tendenzialmente qualsiasi operazione richieda una open() ad un certo punto vorrà anche una close(), in qualsiasi linguaggio di programmazione
 

Evolvix 85

One is All, All is One
Grazie mille ad entrambi.

Vi ringrazio anche a parole per aggiungere una piccola cosa:

Invece di mettere in.close() ho messo input.close(), perchè se mettevo il primo, mi dava 'in' come irrisolvibile, allora ho messo input per logica e non mi da nessun errore o avvertimento.
 

Gkx

Admin
Grazie mille ad entrambi.

Vi ringrazio anche a parole per aggiungere una piccola cosa:

Invece di mettere in.close() ho messo input.close(), perchè se mettevo il primo, mi dava 'in' come irrisolvibile, allora ho messo input per logica e non mi da nessun errore o avvertimento.
nel post linkato era `in.close()` perché la variabile era `Scanner in`... avendo tu usato `Scanner input` ovviamente devi mettere `input.close()`
 

Akurt

Passante
Ragazzi, mi sono da poco affacciato al web development, anche se da qualche anno smettavo già qualcosa con php e js, e avevo installato Xampp. Per un mio progetto ho deciso di usare il framework Yii, però sbattendoci la testa qualche settimana sono arrivato ieri a seguirmi una guida su youtube all'utilizzo di tale applicazione, e ho scoperto l'esistenza di svariati supporti davvero carini per chi si addentra nello sviluppo web. In particolare mi interesserebbe avere delle infromazioni dettagliate riguardo a programmi come eclipse e baazar, oltre ai supporti sdk. Non ho capito granchè del loro utilizzo ancora :/
 

Gkx

Admin
non ho capito di cosa hai bisogno, se cerchi "informazioni dettagliate" su dei programmi ti conviene cercare direttamente delle guide su internet.

personalmente detesto eclipse e tutti gli altri IDE in java lenti come la morte e dall'interfaccia inutilizzabile, e in questo caso particolare dubito che ti possa servire granché se già in principio stai utilizzando linguaggi interpretati come PHP... un editor più leggero (ed eventualmente estendibile con xdebug) come sublime text secondo me può essere più adatto e più semplice da utilizzare per esigenze di web development (ed è quello che uso io).

ti sconsiglio vivamente anche di usare bazaar (che penso usi solo canonical) per il version control; ormai git è lo standard, è più veloce ed è supportato da tutti i principali siti di hosting di codice.
 

Akurt

Passante
Sublime text e Git mi consigli quindi?Allora vedo di informarmi meglio. Ho citato Eclipse e Bazaar perchè la guida ad Yii che stavo seguendo utilizzava quelli, non per altro...
 

Iro

Amministratore di condominio
...usare django\ruby on rails e git come le persone normali no? php fa pena e questi due framework qua sono praticamente lo standard per questo tipo di cose, oltre ad avere più supporto in giro per internet
 
Top Bottom