[C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda Vincenzo98 » 01/02/2015, 18:17

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.
Vincenzo98
New Member
New Member
 
Messaggio: 1 di 82
Iscritto il: 16/02/2014, 21:23

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda vict85 » 01/02/2015, 18:46

Cioè devi scrivere su schermo l'equazione? Sinceramente mi sembra poco più di un Hello World. Hai mai programmato in C++?
vict85
Moderatore
Moderatore
 
Messaggio: 7344 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda Vincenzo98 » 01/02/2015, 20:31

vict85 ha scritto: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.
Vincenzo98
New Member
New Member
 
Messaggio: 2 di 82
Iscritto il: 16/02/2014, 21:23

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda vict85 » 01/02/2015, 21:29

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.

Codice:
#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

Codice:
#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
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
Codice:
#include <cstdio>
alcuni professori insegnano
Codice:
#include <stdio.h>
è corretto ma solo per mantenerlo compatibile con il C. Quindi usare la mia forma è consigliabile.

Il
Codice:
return 0;
è opzionale e non l'ho messo. Tu puoi farlo.

Scrivere
Codice:
void main
non è 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
Moderatore
Moderatore
 
Messaggio: 7346 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda Vincenzo98 » 02/02/2015, 15:06

vict85 ha scritto: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.

Codice:
#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

Codice:
#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
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
Codice:
#include <cstdio>
alcuni professori insegnano
Codice:
#include <stdio.h>
è corretto ma solo per mantenerlo compatibile con il C. Quindi usare la mia forma è consigliabile.

Il
Codice:
return 0;
è opzionale e non l'ho messo. Tu puoi farlo.

Scrivere
Codice:
void main
non è 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.
Vincenzo98
New Member
New Member
 
Messaggio: 3 di 82
Iscritto il: 16/02/2014, 21:23

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda vict85 » 02/02/2015, 22:21

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:
Codice:
int main () { }
vict85
Moderatore
Moderatore
 
Messaggio: 7353 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda Vincenzo98 » 02/02/2015, 22:32

vict85 ha scritto: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:
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.
Vincenzo98
New Member
New Member
 
Messaggio: 4 di 82
Iscritto il: 16/02/2014, 21:23

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda Super Squirrel » 03/02/2015, 00:31

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.
Chi dorme in democrazia, si sveglia in dittatura.
Super Squirrel
Senior Member
Senior Member
 
Messaggio: 42 di 1486
Iscritto il: 16/05/2013, 22:05

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda Vincenzo98 » 24/06/2015, 12:45

vict85 ha scritto: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:
Codice:
int main () { }



#include <iostream>

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 .
Vincenzo98
New Member
New Member
 
Messaggio: 16 di 82
Iscritto il: 16/02/2014, 21:23

Re: [C++] Scrivere una retta dati a, b, c in C++ ?

Messaggioda vict85 » 24/06/2015, 12:50

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
Moderatore
Moderatore
 
Messaggio: 8061 di 19253
Iscritto il: 16/01/2008, 00:13
Località: Berlin

Prossimo

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite