Programmazione

Gkx

Admin
se ti serve solo un editor, sublime text (è in free trial eterno).

se ti serve un IDE, non ti so aiutare
 

Sin

the ultramegamaster
finché si parla di progetti piccoli uno vale l'altro, davvero... in linea di massima visual studio è il migliore, io uso eclipse perché mi hanno abituato così dall'università e perché mi ci trovo veramente bene, sporadicamente ho usato netbeans quindi non ti saprei dare un giudizio
 

Iro

Amministratore di condominio
visualstudio è la cosa migliore del mondo ma usalo solo se devi fare roba windows-only
 

gGiova

e-ehi.
Allora per ora userò quello... Spero in un upgrade 8 di Dev, perché con gli altri non mi trovo proprio, Visual è proprio il "meno peggio"
 

gGiova

e-ehi.
Come mai non mi permette di compilare ne di eseguire? 

tFQ8znk.jpg
 

Evolvix 85

One is All, All is One
Dato che non 'sto avendo il tempo di andarmi a cercare delle videolezioni decenti di C, c'è qualche libro che mi consigliereste ? Un libro che parta proprio dalle basi per poi evolversi bene.
 

HeroGian

Parroco
Per caso sapete se c'è un modo per personalizzare i temi dell'editor testuale di Visual Studio Express 2012? o come installarne di già pronti??

I due temi installati di default ( chiaro e scuro ) proprio non mi piacciono..
 

gGiova

e-ehi.
Problemino con C++:

int main(int argc, char *argv[])
{
int a,b,c;
int temp;
printf ("Inserire A: \n");
scanf ("%d", &a);
printf ("Inserire B: \n");
scanf ("%d", &b);
printf ("Inserire C: \n");
scanf ("%d", &c);

if (a>b)
{
temp=a;
a=b;
b=temp; }

else
if (a>c)
{
temp=a;
a=c;
c=temp; }
if (b>c)
{
temp=b;
b=c;
c=temp; }

printf ("%d \n",a);
printf ("%d \n",b);
printf ("%d \n",c);
system("PAUSE");
return EXIT_SUCCESS;
}
 
Dovrebbe essere un semplicissimo ordinamento di tre numeri interi A, B e C, attraverso scambi dettati dagli if.

Tuttavia, in fase di esecuzione, a volte da l'ordine giusto e altre volte lo sbaglia. Dove posso aver sbagliato?
 

Sin

the ultramegamaster
immagina di inserire 5, 3, 1:

if (a>b) scambia 5 e 3 -> 3, 5, 1

else if (a>c) viene saltato

if (b>c) scambia 5 e 1 -> 3, 1, 5

così a naso ti direi di togliere l'else (mantenendo l'if), ma non ho un compilatore sottomano per fare tutte le prove

comunque dai un'occhiata all'algoritmo bubblesort, è lo stesso concetto ma ti semplifica molto il codice
 

gGiova

e-ehi.
così a naso ti direi di togliere l'else (mantenendo l'if), ma non ho un compilatore sottomano per fare tutte le prove

comunque dai un'occhiata all'algoritmo bubblesort, è lo stesso concetto ma ti semplifica molto il codice
Funziona togliendo l'else, grazie 
default_sylveon.gif
 (e ripensandoci ha molto più senso senza else)

Lo userei anche, ma è un compito: la consegna è di usare gli scambi con if e devo usare gli scambi con if.
 
Ultima modifica di un moderatore:

Maze

TypoMzn
Wiki
A parte che gli stream sono estremamentissimamente più comodi, poi non cambia nulla XD

Ah, la libreria string, che aggiunge la classe stringa, estremamente comoda anche quella. In ogni caso, cazzate.
 

Iro

Amministratore di condominio
no aspè. cazzate no, uno dei vantaggi del c++ è innanzitutto che non devi per forza riscrivere tutto daccapo (o affidarti a librerie terze tipo glib). il problema è che ovviamente ci vogliono anni per padroneggiarlo
 

DWarez

Rappresentante di classe
Lo so che CSS non è un linguaggio di programmazione, non mi fracassate i maroni
default_sylveon.gif


Devo modificare un testo a caso quando ci si passa sopra con il mouse (una cosa come a.hover). Sapete come posso fare?

Risolto C:
 
Ultima modifica di un moderatore:

Evolvix 85

One is All, All is One
Ciao ragazzi, dopo un bel po' di tempo ho ripreso C, ed oggi volevo calcolare l'm.c.m. fra due numeri.

Ho visto tantissimi modi su internet (avevo provato prima da solo in un modo, ma non ci sono riuscito), e mi sono imbattuto in questo, che funge alla perfezione:

#include <stdio.h>
int main()
{
int x, y, Mx, My;
printf("");
scanf("%d", &x);
printf("\n");
scanf("%d", &y);
Mx=x;
My=y;
while(Mx!=My)
{
if(Mx>My)
{
My=My+y;
}
else
{
Mx=Mx+x;
}
}
printf("\n\n%d", Mx);
getch();
return 0;
}

Il fatto è che non capisco il ragionamento logico che fa... qualcuno potrebbe spiegarmelo? Magari concretamente con dei numeri, tipo x=2 e y=3.

Grazie mille! :)
 

DWarez

Rappresentante di classe
Esercizio fatto qualche mese fa per sQuola.

#include <stdio.h>
int main ()
{
int x, y, mx, my, mcm;
printf("Inserisci il primo valore:\n");
scanf("%d", &x);
printf("Inserisci il secondo valore:\n");
scanf("%d", &y);
mx=x;
my=y;
while (mx!=my)
{
if (mx<my)
{
mx=mx+x;
}
else my=my+y;
}
mcm=mx;
printf("Il m.c.m. dei due numeri è: %d", mcm);
return 0;
}

Non so perché, ma appena ho inviato il messaggio mi ha cancellato la spiegazione >_>

Anyway:
 

La strategia risolutiva è la seguente: siano mx ed my due multipli di x e y rispettivamente; se mx < my si somma x ad mx ottenendo il successivo multiplo di x,altrimenti si sommay ad my
ottenendo il successivo multiplo di y.
Il procedimento viene iterato fino a quando non si ottengono due valori uguali per mx e my.
All’inizio si pone mx=x e my=y.
Esempio sia x=5 y=3
mx=5 , my=3
Siccome my<mx si aggiunge y a my:  my=3+3=6
Siccome mx<my si aggiunge x a mx: mx=5+5=10 e così via.
PS: sono andato a riprendere il codice che inviai al prof e mi sono accorto di un fail enorme: invece di scrivere mcm avevo scritto mcd x)
 
Ultima modifica di un moderatore:

Evolvix 85

One is All, All is One
Era esattamente il ragionamento che facevo io quando provavo a farlo, ma non mi riusciva proprio... grazie mille!
 

Evolvix 85

One is All, All is One
Con l'intento di usare l'array per fare una media fra numeri ecco cosa è saltato fuori:

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

Il fatto è che l'eseguibile parte ma poi mi smette di funzionare... cosa sbaglio?
 

DWarez

Rappresentante di classe
È un po' incasinato come codice, ti consiglio di scriverlo in modo un tantino più organizzato.

Utilizza prima un ciclo per riempiere l'array, poi un'altro per sommare tutti i valori ed infine fai la divisione.
 

Ombra

Dragoran, immer besser!
Admin
Ma riesci a digitare qualcosa in input o l'eseguibile si interrompe subito?

Nella definizione di un array non dovresti usare un numero o una costante? Qualcosa tipo

float num[10];

oppure

#define ARRAY_MAX 10
float num[ARRAY_MAX];
 

Mens

Amministratore di condominio
Inserisci la quantità di numeri di cui fare la media: 5

Valore n.0: 1

Valore n.1: 4

Valore n.2: 7

Valore n.3: 4

Valore n.4: 3

La media aritmetica é: 3.80
Dove sarebbe il problema?L'unica cosa che ho fatto è stato cambiare quel getch() in getchar() perché il mio compilatore non lo riconosceva (e non capisco comunque a cosa dovrebbe servire.) (E l'accento sulla e è sbagliato, non che sia rilevante.)

Se proprio hai provato a togliere le lettere accentate? Non vorrei che fosse un problema di codifica.

Una questione più di ordine è che quell'array così com'è è completamente inutile dato che non serve memorizzare in modo permanente tutti i numeri se l'unico utilizzo che ne viene fatto è sommarli subito.
 
Ultima modifica di un moderatore:

Maze

TypoMzn
Wiki
Ma riesci a digitare qualcosa in input o l'eseguibile si interrompe subito?

Nella definizione di un array non dovresti usare un numero o una costante? Qualcosa tipo

float num[10];

oppure

#define ARRAY_MAX 10
float num[ARRAY_MAX];
Esattamente. E se vuoi avere la dimensione in input da tastiera devi usare malloc. Ma, come già detto da Mens, non farti questo cruccio, perché in quel caso allocare l'array non serve davvero a nulla.
 
Top Bottom