Pagini: 1 2 3 [4]   În jos
  Imprimă  
Ajutor Subiect: 480 Ecuatii 2  (Citit de 30927 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
dariusdarius
Client obisnuit
**

Karma: 20
Deconectat Deconectat

Mesaje: 62



Vezi Profilul
« Răspunde #75 : Noiembrie 18, 2012, 18:49:25 »

Am o problema: cand citesc cu gets, primesc 0 puncte cu incorect pe toate. Dar cand pun scanf("%s") imi da 100. Care ar putea fi problema?
Memorat
andreii1
Strain


Karma: 4
Deconectat Deconectat

Mesaje: 23



Vezi Profilul
« Răspunde #76 : Ianuarie 19, 2013, 12:13:48 »

testele contin si alte caractere, pe evaluatorul oficial si pe campion iau 100, iar aici 0.. nu e prima pb de la oji-uri de pe infoarena care are probleme cu caracterele in plus
Memorat
crisbodnar
Strain


Karma: -13
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #77 : Februarie 28, 2013, 19:52:35 »

Testele contin caracterul 13. Dati un getline dupa citirea lui n si veti lua 100 de puncte...
Memorat
manutruta
Strain


Karma: 5
Deconectat Deconectat

Mesaje: 24



Vezi Profilul
« Răspunde #78 : Iulie 29, 2013, 21:58:06 »

Nu inteleg. De ce "Nu se (mai) pot trimite solutii la aceasta problema." ?
Sper ca e temporar, ca vreau sa imi verific sursa.
Memorat
otniel
Strain
*

Karma: -13
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #79 : Septembrie 12, 2013, 13:46:57 »

o ecuatie poate sa se intinda pe mai multe randuri?
Memorat
otniel
Strain
*

Karma: -13
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #80 : Septembrie 12, 2013, 14:41:44 »

Am rezolvat dar totusi:care e diferenta dintre fgets(...) si fscanf(f,"%s",....)? Am inlocuit fscanf(f,"%s",....) cu fgets(...) si am luat 100. De ce?
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #81 : Septembrie 12, 2013, 16:58:08 »

fgets(s) ia si ultimul caracter '\0' in considerare in sir. Adica sirul "gigi" are lungimea 5.
Memorat
otniel
Strain
*

Karma: -13
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #82 : Septembrie 12, 2013, 18:08:06 »

Mersi mult! Nu am stiut dar toate au un inceput:))
Memorat
WolfBlitzer
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #83 : Decembrie 30, 2013, 11:45:58 »

Evident, macar jumatate din teste sunt gresite. Read This!
Nivelul asta de neglijenta este PATETIC. Thumb down

LE: Nu trebuie sa imi schimb eu metoda de citire doar pentru ca cineva nu a fost capabil sa faca niste teste macar acceptabile  Angry
Memorat
AlexandruValeanu
Vorbaret
****

Karma: 29
Deconectat Deconectat

Mesaje: 167



Vezi Profilul
« Răspunde #84 : Decembrie 30, 2013, 12:14:32 »

Socotind ca tocmai am luat 100p cu o sursa scrisa folosind citirea/scrierea cu stream-uri si string-uri in loc de siruri de caractere clasice tind sa cred ca sursa ta e gresita!

PS: Fa tu teste mai acceptabile ( astea sunt corecte )
Memorat
cosmintanase
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #85 : Februarie 26, 2014, 12:37:12 »

de cand 0 si -0 sunt 2 numere diferite?  Brick wall
Memorat
Djok
Client obisnuit
**

Karma: 10
Deconectat Deconectat

Mesaje: 71



Vezi Profilul
« Răspunde #86 : Octombrie 17, 2014, 16:22:47 »

Am testat programul meu pe testele de la Oji și primesc aceleași rezultate.
Am citit comentariile, și inițial aveam un getline după N și oricum primesc 0p.
Poate cineva să se uite peste sursa mea și să-mi spună care e problema?

L.E. urăsc problemele care au semne neclare în teste și strică toată frumusețea problemelor.
« Ultima modificare: Octombrie 17, 2014, 16:41:36 de către LASM.Motroi Valeriu » Memorat
alinp25
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 4



Vezi Profilul
« Răspunde #87 : Februarie 12, 2016, 15:52:00 »

Nu reusesc sa imi dau seama unde gresesc. Iau doar 30 de puncte. Ma chinui de 2 ore sa vad, am facut 2 sesiuni de debugging cap-coada, tot nu imi dau seama.   d'oh! read Don't get it

Cod:
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>

std::ifstream fin("ecuatii2.in");
std::ofstream fout("ecuatii2.out");

int n;
std::string stanga, dreapta;
double xStanga = 0, xDreapta = 0, nrStanga = 0, nrDreapta = 0;

void rezolva(std::string sir, double &nrSir, double &xSir)
{
    int aux = 0, semn = 1;
    for (int i = 0; i < sir.length(); i++)
    {
        if (sir[i] == '+')
        {
            nrSir += (aux * semn);
            semn = 1;
            aux = 0;
        }
        else if (sir[i] == '-')
        {
            nrSir += (aux * semn);
            semn = -1;
            aux = 0;
        }
        else if (sir[i] == 'x')
        {
            if (aux > 0)
                xSir += (aux * semn);
            else if (aux == 0)
                xSir += 1;
            aux = 0;
        }
        else
        {
            aux = aux * 10 + (sir[i] - '0');
        }
    }
    if (sir[sir.length() - 1] != 'x')
        nrSir += aux;
}

void afiseaza()
{
    if (xStanga == xDreapta)
    {
        if (nrStanga == nrDreapta)
            fout << "infinit\n";
        else
            fout << "imposibil\n";
    }
    else
    {
        fout << std::setprecision(5) << ((nrDreapta - nrStanga) / (xStanga - xDreapta)) << "\n";
    }

}

int main(int argc, char *argv[])
{
    fin >> n;
    std::getline(fin, stanga, '\n');
    for (int numarEcuatii = 1; numarEcuatii <= n; numarEcuatii++)
    {
        std::getline(fin, stanga, '=');
        std::getline(fin, dreapta, '\n');
        xStanga = 0, xDreapta = 0, nrStanga = 0, nrDreapta = 0;
        rezolva(stanga, nrStanga, xStanga);
        rezolva(dreapta, nrDreapta, xDreapta);
        afiseaza();
    }
    return 0;
}
Memorat
lucametehau
Strain
*

Karma: 1
Deconectat Deconectat

Mesaje: 33



Vezi Profilul
« Răspunde #88 : Septembrie 14, 2016, 10:07:45 »

De ce nu imi da??
Am facut si cu getline si cu get si tot nu imi da!!!   Read This! Read This!

Cod:
Cod:
#include <fstream>
#include <cstring>
#include <iomanip>

using namespace std;
ifstream cin("ecuatii2.in");
ofstream cout("ecuatii2.out");
int t,i,n,m;
double nst,ndr,xst,xdr;
char st[300],dr[300],a[1005],c;
double abs(double n)
{
    if(n<0)
        return -n;
    return n;
}
void determina(char v[],int n,double &nv,double &xv)
{
    int i,x=0,s=1;
    for(i=1;i<=n;i++)
    {
        if(v[i]=='+')
        {
            nv+=x*s;
            s=1;
            x=0;
        }
        else if(v[i]=='-')
        {
            nv+=x*s;
            s=-1;
            x=0;
        }
        else if(v[i]=='x')
        {
            if(x)
                xv+=x*s;
            else
                xv++;
            x=0;
        }
        else
            x=x*10+v[i]-'0';
    }
    if(v[n]!='x')
        nv+=x;
}
void afiseaza()
{
    if(xst==xdr)
    {
        if(nst==ndr)
            cout<<"infinit\n";
        else
            cout<<"imposibil\n";
    }
    else
        cout<<fixed<<setprecision(4)<<(abs(ndr-nst))/(abs(xdr-xst))<<'\n';
}
int main()
{
    cin>>t;
    cin.getline(a,999,'\n');
    for(i=1;i<=t;i++)
    {
        n=0;
        m=0;
        while(cin.get(c)&&c!='=')
            st[++n]=c;
        while(cin.get(c)&&c!='\n')
            dr[++m]=c;
        nst=ndr=xst=xdr=0;
        determina(st,n,nst,xst);
        determina(dr,m,ndr,xdr);
        afiseaza();
    }
    return 0;
}

Multumesc anticipat!

[Editat de admin] Foloseste tagul code cand postezi cod, si in general nu e o idee buna sa iti postezi programul pe forum si sa intrebi de ce nu iti da. Mai bine incerci sa explici frumos ce faci acolo si ce nu merge si poate te ajuta cineva.
« Ultima modificare: Septembrie 14, 2016, 17:27:12 de către Savin Tiberiu » Memorat
Pagini: 1 2 3 [4]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines