[C++] Scrivere una retta dati a, b, c in C++ ?
Devo scrivere un programma in C++. Esso consiste nello scrivere, dati a, b, c, una retta in forma esplicita e in forma implicita. Mi potete aiutare ?
N.B. Questo è il primo programma che devo scrivere in C++, quindi non so proprio come avviarmi.
Grazie.
N.B. Questo è il primo programma che devo scrivere in C++, quindi non so proprio come avviarmi.
Grazie.
Risposte
Cioè devi scrivere su schermo l'equazione? Sinceramente mi sembra poco più di un Hello World. Hai mai programmato in C++?
"vict85":
Cioè devi scrivere su schermo l'equazione? Sinceramente mi sembra poco più di un Hello World. Hai mai programmato in C++?
Come ho scritto questo è il primo programma che dovrei scrivere.
Comunque l'esercizio consiste nel fatto che il programma mi deve chiedere inserisci a, inserisci b, inserisci c e dopo mi deve dare la forma esplicita e la forma implicita della retta.
Beh, se ti è stato dato questo esercizio vuol dire che ti è stato spiegato come scrivere un programma. Sul libro ci saranno degli esempi.
Suppongo che ti siano stati spiegati cin e cout.
Se invece ti sono stati spiegati printf e scanf devi partire da questo
Alcuni commenti:
Il codice
Al posto di
Il
Scrivere
Il codice corretto dovrebbe tenere conto dei casi in cui b = 0. Nella mia versione semplificata non l'ho fatto.
Suppongo che ti siano stati spiegati cin e cout.
#include <iostream> using namespace std; int main() { /* inserisci qui la dichiarazione delle variabili a,b,c come in */ cout << "Inserisci a, b e c" << endl; /* inserisci qui il codice per leggere i tre valori usando cin */ /* Usa cout per stampare a video ax + by = c dove al posto di a,b,c devi mettere i tuoi a,b e c */ /* dichiara le variabili m e q */ /* poni m = a/b e q = c/b */ /* stampa con cout y = mx + q */ }
Se invece ti sono stati spiegati printf e scanf devi partire da questo
#include <cstdio> using namespace std; int main() { /* inserisci qui la dichiarazione delle variabili a,b,c come in */ printf("Inserisci a, b e c\n"); /* inserisci qui il codice per leggere i tre valori usando scanf */ /* Usa printf per stampare a video ax + by = c dove al posto di a,b,c devi mettere i tuoi a,b e c */ /* dichiara le variabili m e q */ /* poni m = a/b e q = c/b */ /* stampa con scanf y = mx + q */ }
Alcuni commenti:
Il codice
using namespace std;è opzionale ma successivamente dovresti mettere std:: davanti a cout, cin e endl. Ci sono buoni motivi per farlo, ma il tuo prof immagino lo usi e quindi è meglio tenerlo.
Al posto di
#include <cstdio>alcuni professori insegnano
#include <stdio.h>è corretto ma solo per mantenerlo compatibile con il C. Quindi usare la mia forma è consigliabile.
Il
return 0;è opzionale e non l'ho messo. Tu puoi farlo.
Scrivere
void mainnon è corretto al contrario di quello che alcuni pensano.
Il codice corretto dovrebbe tenere conto dei casi in cui b = 0. Nella mia versione semplificata non l'ho fatto.
"vict85":
Beh, se ti è stato dato questo esercizio vuol dire che ti è stato spiegato come scrivere un programma. Sul libro ci saranno degli esempi.
Suppongo che ti siano stati spiegati cin e cout.
#include <iostream> using namespace std; int main() { /* inserisci qui la dichiarazione delle variabili a,b,c come in */ cout << "Inserisci a, b e c" << endl; /* inserisci qui il codice per leggere i tre valori usando cin */ /* Usa cout per stampare a video ax + by = c dove al posto di a,b,c devi mettere i tuoi a,b e c */ /* dichiara le variabili m e q */ /* poni m = a/b e q = c/b */ /* stampa con cout y = mx + q */ }
Se invece ti sono stati spiegati printf e scanf devi partire da questo
#include <cstdio> using namespace std; int main() { /* inserisci qui la dichiarazione delle variabili a,b,c come in */ printf("Inserisci a, b e c\n"); /* inserisci qui il codice per leggere i tre valori usando scanf */ /* Usa printf per stampare a video ax + by = c dove al posto di a,b,c devi mettere i tuoi a,b e c */ /* dichiara le variabili m e q */ /* poni m = a/b e q = c/b */ /* stampa con scanf y = mx + q */ }
Alcuni commenti:
Il codiceusing namespace std;è opzionale ma successivamente dovresti mettere std:: davanti a cout, cin e endl. Ci sono buoni motivi per farlo, ma il tuo prof immagino lo usi e quindi è meglio tenerlo.
Al posto di#include <cstdio>alcuni professori insegnano#include <stdio.h>è corretto ma solo per mantenerlo compatibile con il C. Quindi usare la mia forma è consigliabile.
Ilreturn 0;è opzionale e non l'ho messo. Tu puoi farlo.
Scriverevoid mainnon è corretto al contrario di quello che alcuni pensano.
Il codice corretto dovrebbe tenere conto dei casi in cui b = 0. Nella mia versione semplificata non l'ho fatto.
Grazie della risposta, ma a me serve il testo del programma che poi devo scrivere nel compilatore. Faccio tutte queste domande perchè in realtà io sono un autodidatta e voglio avvicinarmi alla programmazione.
Grazie ancora a chi mi risponde.
Che intendi per testo del programma? Intendi dire il codice? Sinceramente ti suggerirei di studiare su un manuale e fare esercizio. Guardare le soluzioni degli altri è utile ma solo se prima tu ragioni sulla tua soluzione.
Se questo è il tuo primo programma e vuoi compilare qualcosa allora ti basta compilare il codice:
Se questo è il tuo primo programma e vuoi compilare qualcosa allora ti basta compilare il codice:
int main () { }
"vict85":
Che intendi per testo del programma? Intendi dire il codice? Sinceramente ti suggerirei di studiare su un manuale e fare esercizio. Guardare le soluzioni degli altri è utile ma solo se prima tu ragioni sulla tua soluzione.
Se questo è il tuo primo programma e vuoi compilare qualcosa allora ti basta compilare il codice:
int main () { }
Si, esatto è il codice che mi serve. Però siccome è il primo programma non so come compilarlo. Per questo se me lo compili lo prenderò come esempio per i futuri programmi.
Se pure qualcuno ti scrivesse il programma per intero pronto da compilare, con una buona intuizione cmq non ne ricaveresti moltissimo. Al massimo potresti imparare a dichiarare una variabile e assegnare ad essa un valore, mostrare qualcosa a video o acquisire dati dalla tastiera...si è un inizio, ma il problema è che siamo ancora lontani dall'abc della programmazione e nel momento in cui te ne renderai conto cosa farai? chiederai un nuovo programma su qualche forum ? capirai che il tuo metodo è poco efficiente e richiede gente che si metta a disposizione per insegnarti a programmare partendo da zero.
Detto ciò, se un manuale ti sembra eccessivo per i tuoi fini, ti può essere utile sapere che su youtube puoi trovare moltissimi video-tutorial che spiegano in modo semplice come iniziare a programmare.
Detto ciò, se un manuale ti sembra eccessivo per i tuoi fini, ti può essere utile sapere che su youtube puoi trovare moltissimi video-tutorial che spiegano in modo semplice come iniziare a programmare.
"vict85":
Che intendi per testo del programma? Intendi dire il codice? Sinceramente ti suggerirei di studiare su un manuale e fare esercizio. Guardare le soluzioni degli altri è utile ma solo se prima tu ragioni sulla tua soluzione.
Se questo è il tuo primo programma e vuoi compilare qualcosa allora ti basta compilare il codice:
int main () { }
#include
using namespace std;
int main()
{
int a,b,c;
cout << "Inserisci a, b e c" << endl;
cin >> a;
cin >> b;
cin >> c;
cout << a <<"x + " << b << "y = " << c<< endl;
float m,q;
m = (float)a/b;
q = (float) c/b;
cout << " y = " << m << "x + " << q << endl;
system("PAUSE");
}
Ho seguito il tuo schema ma non dovrebbe essere m = - a/b e q = - c/b .
Si e no. Se è \(ax + by = c\) allora si ha che \(by = -ax + c\) ovvero \(\displaystyle y = -\frac{a}{b}x + \frac{c}{b}\). Una piccola svista.
"vict85":
Si e no. Se è \(ax + by = c\) allora si ha che \(by = -ax + c\) ovvero \(\displaystyle y = -\frac{a}{b}x + \frac{c}{b}\). Una piccola svista.
Quindi come dovrei scrivere ?
La risposta a questa domanda non ha nulla a che fare con il C++ e dipende da come hai scritto l'equazione prima. Se la hai scritto come \(\displaystyle ax + by + c = 0 \) allora è \(\displaystyle m = -\frac{a}{b}, q = -\frac{c}{b} \). Se invece la hai scritto come \(\displaystyle ax + by = c \) allora è \(\displaystyle m = -\frac{a}{b}, q = \frac{c}{b} \).