infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Daniel din Martie 21, 2016, 21:58:43



Titlul: Ajutor ! Perfect incepator
Scris de: Daniel din Martie 21, 2016, 21:58:43
Va salut ! Sunt anul 1 de fac si am primit un curs de 15 pagini ce C++ absolut nesatisfacator, si cu o problema de rezolvat in Codeblocks !  Nu am avut nici o legatura cu C++ pana in momentul de fata !

Am instalat CodeBlocks si compilatorul dat de profesorul de la facultate si am trecut la rezolvarea urmatoare probleme:

Scrieţi un program care să rezolve următoarea problemă:
"În trei zile un motociclist parcurge N kilometri. Dacă ştim că în primele două zile parcurge N1 kilometri, iar în a doua şi a treia zi parcurge N2 kilometri, aflaţi câţi kilometri parcurge în fiecare zi."
Valorile N, N1 şi N2 vor fi introduse de utilizator de la tastatură. Programul nu trebuie să permită introducerea unor valori negative.

Am trecut la treaba! Cu am mai gasit pe net, cu ce am gasit in curs ( ca si cum nu exista) am scris urmatorul cod:

Citat
#include <iostream.h>
using namespace std;
//Scrieţi un program care să rezolve următoarea problemă:
//"În trei zile un motociclist parcurge N kilometri. Dacă ştim că în primele două zile parcurge N1 kilometri, iar în
//a doua şi a treia zi parcurge N2 kilometri, aflaţi câţi kilometri parcurge în fiecare zi."
//Valorile N, N1 şi N2 vor fi introduse de utilizator de la tastatură. Programul nu trebuie să permită introducerea
//unor valori negative.

int main ()
{

float N,N1,N2;
float d1,d2,d3;

//afisarea unui mesaj pentru introducerea unui numar:
cout << "Total Km Parcursi"; cin >> N;
cout << "Km Parcursi in prima si a2a zi"; cin >> N1;
cout << "Km Parcursi in a2a a3a zi"; cin >> N2;





d1=N-N2 ;
d2=N-d1-d3 ;
d3=N-N1 ;




// afisarea rezultatului:
cout << " Rezultat: "<< d1 << " d3 " <<d2 << ; //aici am eroare si nu stiu de ce ?

"d1,d2,d3"
 return 0;

}

Toate bune si frumoase! Problema mare este ca nu se compileaza si in plus nu stiu daca este corect ce am scris eu mai sus!
Daca aveti mila de mine si credeti ca ma puteti ajuta v-as fi recunoscator ! Macar sa-mi spuneti daca este corect si care ar fi greseala. Nu tin sa-mi scrieti codul ( nu ca m-as supara daca l-ati corecta)

Am inteles ca C++ nu se poate invata in 2 ore ! incerc doar sa-mi fac tema cu speranta ca voi avea noroc la examen :))
Multumesc !


Titlul: Răspuns: Ajutor ! Perfect incepator
Scris de: Gafton Mihnea Alexandru din Martie 22, 2016, 10:13:13
Eu vad o greseala , pentru inceput, la:
d1=N-N2 ;
d2=N-d1-d3 ; // Tu folosesti variabila d3 pe care inca nu ai calculat-o
d3=N-N1 ;

Nu am avut timp sa rulez codul intr-un compilator dar sper ca asta te va ajuta indeajuns  :D
Mult Succes!


Titlul: Răspuns: Ajutor ! Perfect incepator
Scris de: Daniel din Martie 25, 2016, 13:27:24
Am taiat de tot d2-ul dar tot nu se compileaza :(
Imi da eroare pe linia
Citat
cout << " Rezultat: "<< d1 << " d3 " <<d2 << ;

Poate are cineva timp si imi poate explica care e treaba ....


Titlul: Răspuns: Ajutor ! Perfect incepator
Scris de: Alex Alex din Martie 29, 2016, 22:21:42
Cand dai cout la o variabila nu o pui intre ghilimele pentru ca vei primi erori de sintaxa.
Ghilimele sunt pentru mesaje.
De exemplu daca vrei sa afisezi un mesaj text scrii de exemplu: cout << "Salutare";
Nu se compileaza pentru ca ai erori de sintaxa, tu ai scris << "d3" in loc de << d3 fara ghilimele.
Iar ceea ce nu inteleg e de ce ai mai scris "d1,d2,d3" pe penultima linie, inainte de return 0.
Si atunci cand calculezi distanta d2, cum ai scris tu( d2=N-d1-d3; ) cum crezi ca o vei afla daca tu abia la urma calculezi valoarea variabilei d3?

Eu am rezolvat problema, daca iti mai trebuie codul sursa:

Cod:
#include <iostream>

using namespace std;

int main()
{
    float N,N1,N2,d1,d2,d3;

    cout << "Lungime traseu (km): ";
    cin >> N;

    if( N < 0)
    {
        cout << "Introduceti valori pozitive" << endl;
        return 0;
    }

    cout << "Km parcursi in primele 2 zile: ";
    cin >> N1;

    if( N1 < 0)
    {
        cout << "Introduceti valori pozitive" << endl;
        return 0;
    }

    cout << "Km parcursi in a 2 a si a 3 a zi: ";
    cin >> N2;

    if( N2 < 0)
    {
        cout << "Introduceti valori pozitive" << endl;
        return 0;
    }

    if( (N<=N1 || N<=N2) || (N>(N1+N2)) )
    {
        cout << "Introduceti date de intrare corecte!" << endl;
        return 0;
    }else{

      d1 = N-N2;
      d3 = N-N1;
      d2 = N1-d1;
 }

    if( N!=(d1+d2+d3) )
    {
        cout << "Introduceti date de intrare corecte!" << endl;
        return 0;
    }

    cout << "In prima zi parcurge: " << d1 << " km" << endl;
    cout << "In a doua zi parcurge: " << d2 << " km" << endl;
    cout << "In a treia zi parcurge: " << d3 << " km" << endl;

return 0;

}










Titlul: Răspuns: Ajutor ! Perfect incepator
Scris de: Daniel din Aprilie 01, 2016, 23:28:24
Multumesc muult !! Mi-ai fost de mare ajutor!
Nu cred ca am sa reusesc acest limbaj dar sper sa trec anul !

Multumesc Frumos ! Sa-ti dea Dumnezeu Sanatate !