Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Mostenire clase : Iulie 16, 2016, 19:23:05
De ce nu imi este afisat x.
Nu inteleg, x-ul este returnat de functia getX(), si apoi este apelata functia in clasa derivata SecondClass
printr-un obiect de tipul FirstClass si tot nu imi este afisat x-ul.


Cod:
#include <iostream>
using namespace std;

class FirstClass
{
private:
    int x;
public:
    FirstClass()
    {
        cout << "\n Apel constructor implicit FirstClass()." << endl;
    }
    FirstClass(int x)
    {
        cout << "\n Apel constructor cu parametri FirstClass()." << endl;
        this->x = x;
        cout << "\n X = " << x << endl;
    }
    int getX()
    {
        return x;
    }
};

class SecondClass:protected FirstClass
{
private:
    int y;
public:
    SecondClass(int x):FirstClass(x)
    {
        cout << "\n Apel constructor cu parametri SecondClass()." << endl;
    }
    void printX(FirstClass& obj)
    {
        cout << "\n X = " << obj.getX() << endl;
    }
};

int main()
{
    FirstClass box1;
    SecondClass box2(100);
    box2.printX(box1);
    return 0;
}
2  infoarena - concursuri, probleme, evaluator, articole / Informatica / POO : Iunie 28, 2016, 23:02:58
Am urmatorul cod, nu inteleg unde gresesc.
Astept sugestii.
Multumesc!

Cod:
#include <iostream>
#include <cstring>
using namespace std;

class Stiva
{
public:
    Stiva();
    int esteVida();
    int estePlina();
    void adauga(float element);
    float sterge();
private:
    float elementeleStivei[];
    int virfulStivei;
};

class ContBancar
{
private:
    float depozit;
    Stiva istoric;
public:
    void tranzactie(float suma)
    {
        depozit = suma;
        istoric.adauga(float element);
    }
    float bilant()
    {
        return depozit;
    }
};

int main()
{
    ContBancar contClient;
    Stiva tranzactie;
    contClient.tranzactie(1000.0);
    cout << "\n " << contClient.bilant() << endl;
    return 0;
}
3  infoarena - concursuri, probleme, evaluator, articole / Informatica / alocare dinamica : August 21, 2014, 18:56:29
Nu inteleg de ce nu ruleaza codul urmator.
Alocarea dinamica cu un pointer la intreg (int *p) sau pointer la pointer la intreg mi-a reusit.
Cand am incercat cu un pointer catre un tablou de intregi (*p)[col] codul nu ruleaza.
Stiu, dimensiunea tabloului trebuie sa fie o constanta, dar variabilele col si new primesc valori pana la compilarea liniei de cod
int (*p)[col] = (int(*)[col])new int*[row];.
De ce nu ruleaza ?

Cod:
#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
    int row, col;
    cout << "\n Numbers of rows: ";
    cin >> row;
    cout << "\n Numbers of columns: ";
    cin >> col;
    cout << "\n col = " << col << endl;
    int (*p)[col] = (int(*)[col])new int*[row];
    for (int i=0; i<row; i++)
    {
        for (int j=0; j<col; j++)
        {
            cout << "\n tab[" << i << "][" << j << "] = ";
            cin >> *(*(p+i)+j);
        }
    }
    cout << endl;
    for (int i=0; i<row; i++)
    {
        for (int j=0; j<col; j++)
            cout << "\t\t" << *(*(p+i)+j);
        cout << endl;
    }
    // free (p);
    delete[] p;
    p = NULL;
    return 0;
}
4  infoarena - concursuri, probleme, evaluator, articole / Informatica / clase : Iulie 08, 2014, 19:20:01
In codul de mai jos sunt citite de la tastatura informatiile specifice cartilor dintr-o librarie: denumire carte, autorul principal, al doilea autor, numarul de pagini si pretul.
Prin intermediul unei clase, carte, care descrie datele despre o carte, proprietatile (denumire carte, autorul principal, al doilea autor, numarul de pagini si pretul) si metodele de prelucrare (initializarea si afisarea unei carti) sa se afiseze pe ecran informatiile despre orice carte tratata.

Codul ruleaza bine o singura data, adica daca sunt introduse informatiile de la tastatura pentru o singura carte.
Daca vreau sa continui cu informatiile pentru o a doua carte codul sare peste linia de cod "denumirea cartii: " si imi cere "primul autor"
Daca continui cu introducerea informatiilor acestea nu sunt afisate.
Mentionez ca am incercat si cu gets() dar tot nu am reusit.
Va multumesc !

Cod:
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;

class carte
{
    public:
        char nume[40];
        char autor1[40];
        char autor2[40];
        int nr_pag;
        double pret;
        void citeste_carte(char *nume_carte, char *autor_carte1, char *autor_carte2, int *np, double *p);
        void afiseaza_carte();
};

// descrirea functiei de citire carte
void carte::citeste_carte(char *nume_carte, char *nume_autor1, char *nume_autor2, int *np, double *p)
{
    strcpy(nume, nume_carte);
    strcpy(autor1, nume_autor1);
    strcpy(autor2, nume_autor2);
    nr_pag = *np;
    pret = *p;
}

void carte::afiseaza_carte()
{
    int i;
    cout << "\n cartea nr. " << i << ": " << nume << endl;
    cout << "\n primul autor : " << autor1 << endl;
    cout << "\n al doilea autor : " << autor2 << endl;
    cout << "\n nr pagini : " << nr_pag << endl;
    cout << "\n pretul : " << pret << endl;
}

int i=0;

int main()
{
    carte cartea_citita;
    char mnume[40], mautor1[40], mautor2[40];
    int mnr_pag;
    double mpret;
    char r = 'd';
    while (r == 'd')
    {
        cout << "\n denumirea cartii : ";
        cin.getline(mnume, 40);
        // gets(mnume);
        cout << "\n primul autor : ";
        cin.getline(mautor1, 40);
        // gets(mautor1);
        cout << "\n al doilea autor : ";
        cin.getline(mautor2, 40);
        // gets(mautor2);
        cout << "\n nr. pagini : ";
        cin >>mnr_pag;
        cout << "\n pret : ";
        cin >>mpret;
        cartea_citita.citeste_carte(mnume, mautor1, mautor2, &mnr_pag, &mpret);
        cartea_citita.afiseaza_carte();
        cout << "\n Vreti sa continuati ? (d/n) : ";
        cin >>r;
    }
    return 0;
}
5  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: alocare dinamica : Ianuarie 15, 2014, 11:35:13
Da ai dreptate.
Multumesc de raspuns, dar imi poti spune de ce codul ruleaza cu *(*(p+j)+i) si nu cu *(*(p+i)+j) ?
6  infoarena - concursuri, probleme, evaluator, articole / Informatica / alocare dinamica : Ianuarie 15, 2014, 10:18:50
Buna ziua ! In codul de mai jos am incercat sa afisez o matrice alocata dinamic.
Totul merge bine pentru matrice patratice 2*2, 3*3, 4*4, samd.
Cand numarul de linii difera de numarul de coloane spre exemplu pt matricea 2*3 elementul a10 (inceputul liniei a doua)
este acelasi cu elementul a02 (sfarsitul primei linii).
Asemenea eroare se intampla si pt matricii mai mari.
Nu inteleg de ce ?
Daca ma poate ajuta cineva astept sugestii. Multumesc !



#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
    int n, m;
    cout <<"\n Numarul de linii : ";
    cin >>n;
    cout <<"\n Numarul de coloane : ";
    cin >>m;
    int (*p)[n] = (int (*)[n])malloc(m*n*sizeof(int));
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
        {
            cout <<"\n A["<<i<<"]["<<j<<"] = ";
            cin >>*(*(p+i)+j);
        }
    }
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
            cout <<"\t\t"<<*(*(p+i)+j);
        cout <<"\n";
    }
    free (p);
    return 0;
}
7  infoarena - concursuri, probleme, evaluator, articole / Informatica / afisare matrice folosind pointerii : Septembrie 15, 2013, 19:15:07
salut !

In fisierul atasat am realizat citirea si afisarea unui vector cu ajutorul pointerilor, apoi am incercat sa citesc si sa afisez o matrice folosind pointerii.
Am reusit sa fac afisarea unei matrice prin alocare dinamica dar nu reusesc sa fac aceasta afisare doar cu pointeri.
Help !!!
8  infoarena - concursuri, probleme, evaluator, articole / Informatica / eliminare cifra de mijloc : Iunie 23, 2013, 18:35:59
Va salut !
Se citeste un numar natural strict mai mare decat 9 avand numar impar de cifre.
Sa se afiseze numarul obtinut prin eliminarea cifrei de mijloc a numarului initial.
Exemplu:
nr initial: 12345
nr final: 1245
Problema ruleaza pentru numere cu 3 cifre dar pentru numere cu 5,7,9 sau mai multe cifre nu ruleaza.
Astept sugestii la urmatoarea problema (vezi atasament)
9  infoarena - concursuri, probleme, evaluator, articole / Informatica / afisare vector : Iunie 21, 2013, 17:21:03
Va salut !
Am o problema legata de afisarea unui vector, problema este rezolvata in 4 moduri (vezi atasament).
1. problema este rezolvata in modul clasic

2. problema este rezolvata cu ajutorul functiilor definite de utilizator.
mai exact in functia MAIN este apelata functia AFISARE si apoi functia CITIRE este apelata in functia AFISARE
Observati ca functiile AFISARE si CITIRE nu sunt apelate ambele in functia MAIN.

3. problema este rezolvata cu ajutorul functiilor definite de utilizator.
Functiile AFISARE si CITIRE sunt apelate ambele in functia MAIN dar programul nu ruleaza.
Am inteles de ce nu ruleaza dar nu am gasit o rezolvare, probabil cu ajutorul pointerilor.
Astept sugestii.

4. problema este rezolvata cu ajutorul functiilor definite de utilizator.
Functiile AFISARE si CITIRE sunt apelate ambele in functia MAIN si programul ruleaza.
Atentie la cum am declarat functiile definite de utilizator si anume:
void citire() si void afisare() fara parametru si nu ca la punctul 3 unde functiile au fost declarate cu parametru.
10  infoarena - concursuri, probleme, evaluator, articole / Informatica / afisare matrice : Iunie 10, 2013, 18:23:19
as dori sa ma ajutati cu, codul pentru afisarea matricei de n linii si m coloane, cod facut cu ajutorul unei functii definite de utilizator
am atasat codul cu afisarea matricei de n linii si m coloane, in acest mod as vrea sa fie facuta afisarea.
multumesc !
11  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: functii - numere prime : Mai 30, 2013, 17:21:47
da stiu ca nu le afisez in functia prim, afisarea in functia prim am facut-o in primul caz.
in cazul 2 vreau ca afisarea nr prim sa sa faca in functia main, asa cum am spus.
pt a fi mai explicit am atasat un fisier cu o alta problema rezolvata in acest fel.
12  infoarena - concursuri, probleme, evaluator, articole / Informatica / functii - numere prime : Mai 30, 2013, 14:12:00
Am o problema legata de afisare numerelor prime.
Problema am rezolvat-o cu ajutorul unei functii prim(int n) definita de utilizator in doua moduri:
1. in primul caz afisarea numerelor prime se face in functia prim(int n) si problema ruleaza ok.
2. in al doilea caz afisarea se face in functia main() si nu imi sunt afisate numerele prime.

va rog sa-mi dati cateva sfaturi.
multumesc anticipat !
13  infoarena - concursuri, probleme, evaluator, articole / Informatica / numere prime gemene : Mai 27, 2013, 10:16:58
in functia prim returneaza 0, ok greseala mea.
dar cum afisez numerele prime gemene ? astept sugestii.
14  infoarena - concursuri, probleme, evaluator, articole / Informatica / problema afisare descompunere in factori primi : Mai 25, 2013, 12:32:07
La aceasta problema nu reusesc sa fac afisarea asa cum se cere.
Aveti idee ? Multumesc !
15  infoarena - concursuri, probleme, evaluator, articole / Informatica / operatii cu fisiere : Aprilie 29, 2013, 22:25:31
ma poate ajute cineva cu aceasta problema ? (sunt incepator)

Din fisierul input.txt se citesc variabilele a, b si c, separate prin cate un spatiu.
Sa se calculeze suma si produsul celor trei numere si sa se afiseze in fisierul output.txt.

Programul nu ruleaza, mai exact am introdus in fisierul input.txt valorile lui a, b, si c.
Dupa ce compilez imi afiseaza in fisierul output.txt urmatoarele:

Suma = 1976798361
Produsul = 0[/code]

[code]
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
int main()
{
    float a, b, c, s, p;
    ifstream f("input.txt")
    ofstream g("output.txt")
    f>>a>>b>>c;
    s=a+b+c;
    p=a*b*c;
    g<<a<<""<<b<<""<<c<<"\n";
    g<<"Suma = "<<s<<"\n";
    g<<"Produsul = "<<p<<"\n";
    f.close();
    g.close();
}
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines