C/C++

Член од
25 март 2012
Мислења
40
Поени од реакции
6
@ Risto-
Od 0 do N znaci 0 do N-1 bidejki ne navediv so N tuku DO N.
Za N --> voopsto ne go kompajlirav kodot samo go napisav na forum i ne sum zabelezal.
Ne znaev dali to N e daeno ili treba da se vnesi bidejki ne bese navedeno kako za brojkite i zato go resiv so niza.
 
Член од
26 декември 2012
Мислења
27
Поени од реакции
3
Гледав некој туторијали за C програмискиот јазик на јутјуб и имаше 15 туторијали некаде во просек по 6-7 минути, но моето прашање е дали е тоа доволно да се совлада програмскиот јазик Ц или треба да побарам на нет некој е-книги, бидејки од тука сватив нешто но се работеше само со пресметки, дали само со тоа се работи во Ц и Ц++, ај ве молам помогнете ми малку немам никаква осонова за што служат.
 
Член од
21 февруари 2012
Мислења
1.641
Поени од реакции
864
Гледав некој туторијали за C програмискиот јазик на јутјуб и имаше 15 туторијали некаде во просек по 6-7 минути, но моето прашање е дали е тоа доволно да се совлада програмскиот јазик Ц или треба да побарам на нет некој е-книги, бидејки од тука сватив нешто но се работеше само со пресметки, дали само со тоа се работи во Ц и Ц++, ај ве молам помогнете ми малку немам никаква осонова за што служат.
Tи требаат прво книги за да ги научиш основите на ц++ тогаш полесно ке моожеш да учиш од туторијали.
--- надополнето: 6 јануари 2013 во 00:12 ---
Гледав некој туторијали за C програмискиот јазик на јутјуб и имаше 15 туторијали некаде во просек по 6-7 минути, но моето прашање е дали е тоа доволно да се совлада програмскиот јазик Ц или треба да побарам на нет некој е-книги, бидејки од тука сватив нешто но се работеше само со пресметки, дали само со тоа се работи во Ц и Ц++, ај ве молам помогнете ми малку немам никаква осонова за што служат.
Tи требаат прво книги за да ги научиш основите на ц++ тогаш полесно ке моожеш да учиш од туторијали.
 
Член од
26 декември 2012
Мислења
27
Поени од реакции
3
Tи требаат прво книги за да ги научиш основите на ц++ тогаш полесно ке моожеш да учиш од туторијали.
--- надополнето: 6 јануари 2013 во 00:12 ---

Tи требаат прво книги за да ги научиш основите на ц++ тогаш полесно ке моожеш да учиш од туторијали.
Имам една за Ц++, издадена од Гоцмар, Програмирање за почетници во Ц++
 
Член од
10 јануари 2013
Мислења
1
Поени од реакции
0
Ако некој има идеа како може да се реши задачата го молам да ми даде контакт да ми помогне ако може :)

Направете датотека за возила на кои им е извршен технички преглед во текот на една година. Капацитетот на сервисот е 4000 возила годишно. Секое возило во датотеката има свој запис (record) кој се состои од следните полиња:

Опис на полето
Тип на податок
Макс. должина на поле или ранг на вредности
Име на сопственикот
string
15
Презиме на сопственикот
string
15
Регистарски број на возилото
string
9 (SK-001-AA)
Начин на осигурување
string
fkasko / ffransiza
Кубикажа на моторот
int
800≤кубици≤4000
Дата на производство
int
GGMMDD


1. При внесување на влезните податоци да се прави валидација

2. На крајот од годината, датотеката се сортира (подредува) по Презиме, Име и кубикажа. На тој начин се формира датотеката “Sort.dat”.

3. Датотеката “Sort.dat” да се користи како влезна датотека за добивање на цена на извршениот технички прегледи дата за следна регистрација.
Ценовник на сервисот:
800 ≤ кубици ≤ 1200 -> 13 000ден
1200 < кубици ≤ 1600 -> 15 000ден
1600 < кубици ≤ 2000 -> 17 000ден
2000 < кубици ≤ 2500 -> 20 000ден
кубици > 2000 -> 22 000ден
Ако возилото не е постаро од 8 години, следниот технички преглед треба да се изврши за 2 години, во спротивно за 1 година.

4. На цената од техничкиот преглед треба да се додаде и цената од осигурувањето која се пресметува според следниот критериум:
а) доколку се работи за fkasko тогаш цената за осигурувањето е:
осигурување = кубикажа * 61,5 / 3;
б) доколку се работи за ffransiza тогаш цената за осигурувањето е:
осигурување = (кубикажа * 61,5 / 3) * 50%

5. Излезниот податок за корисникот на возилото да е од следниот тип:
Презиме:
Име:
Регистарски број:
Цена:
Следен технички преглед на:
 
Член од
7 јануари 2008
Мислења
5.366
Поени од реакции
804
Ако некој има идеа како може да се реши задачата го молам да ми даде контакт да ми помогне ако може :)

Направете датотека за возила на кои им е извршен технички преглед во текот на една година. Капацитетот на сервисот е 4000 возила годишно. Секое возило во датотеката има свој запис (record) кој се состои од следните полиња:

:
Ова е една од задачите што ги даваат во прва година по Основи на програмирање , така ? Ја имам направено целата програма, но истата е преработена затоа што ја правев и како семинарска по објектно ориентирано програмирање. Можам да ти го пратам целиот код, ама тоа не е решение, работата е сам да пробаш да ја направиш. Еве ќе ти олеснам малку, сите овие променливи за име, презиме итн треба да ги сместиш во една структура и на крајот од структурата да декларираш аргумент преку кој ќе пристапуваш до секоја променлива.
Следува делот што ќе проверува кога возилото треба да биде однесено на сервис. Во една променлива земи ја вредноста на годината на производство, во друга земи ја вредноста кога возилото е однесено на сервис. (напомена: поради тоа што форматот на дата е YYYYMMDD, годината од овој израз може да ја извадиш така што целиот израз ќе го поделиш со 10000). Сега, откако ги имаш двете години, направи едноставна операција одземање. Ако резултатот е помал или еднаков од 8, во стринг променлива (да речеме pregled) стави текст дека треба да се однесе за 2 години, во спротивно стави текст дека треба да се однесе за една година.
Сега треба да ја провериш цената на сервисот, кубикажата веќе ќе ја имаш во една променлива, се што треба да направиш е обична споредба:
if (kubikaza > 800) || (kubikaza < 1200)
{
cenaservis+= 13000;
}
истото ќе го направиш за сите можни комбинации. Сега треба да провериш каков тип на осигурување е искористен, формулите ти се веќе дадени, само треба да го одредиш типот на осигирување и во зависност од тоа, таа цена да ја додадеш на променливата cenaservis.
На крај, вршиш обично печатење на вредностите на променливите (3те веќе внесени за име, презиме, регистрација) како и на новите 2 пресметани (цена и преглед).
Имаш доволно време уште 2 недели до датумот кога ќе треба да презентираш, потруди се да направиш нешто твое, и на мене ми изгледаа тешки овие задачи во прва година, ама освен со работа нема друг начин на кој можеш да го совладаш програмирањето.



 

Amaterasu

123123113
Член од
17 април 2012
Мислења
1.127
Поени од реакции
1.061
Гледав некој туторијали за C програмискиот јазик на јутјуб и имаше 15 туторијали некаде во просек по 6-7 минути, но моето прашање е дали е тоа доволно да се совлада програмскиот јазик Ц или треба да побарам на нет некој е-книги, бидејки од тука сватив нешто но се работеше само со пресметки, дали само со тоа се работи во Ц и Ц++, ај ве молам помогнете ми малку немам никаква осонова за што служат.
Можеш да учиш и од овие слајдови, ги користиме на факултет, доста се корисни :)
http://finki.weebly.com/krs.html
 
Член од
7 август 2012
Мислења
57
Поени од реакции
3
Да се имплементира класа Line за која ќе се чуваат информации за:
 Шифра на линијата (цел број - единствен идентификатор на линијата)
 Град од кај што тргнува автобусот – низа од 30 знаци
 Град кај што пристига авионот - низа од 30 знаци
 Шифра на шоферот кој го управувал автобусот – цел број
За потребите на оваа класа да се преоптоварат copy конструктор, default конструктор, конструктор со аргументи, set и get методи и да се напише соодветен деструктор(5 поени). Да се преоптовари операторот за излезен тек << (5 поени) кој ќе ја печати линијата во формат:
Шифра на линија : тргнува од, пристига во
Да се дефинира класа Driver за која се чуваат информации за:
 Шифра на шоферот (цел број – единствен идентификатор на шоферот)
 Име на шоферот – низа од 30 знаци
 Плата која ја зима од една линија – double променлива
Да се имплементира класа BusCompany за која се чуваат информации за:
 Линии кои ги нуди компанијата (динамички алоцирана низа од објекти од класата Line)
 Број на летови – големина на низата со летови
 Име на компанијата – низа од 50 знаци
За класите Driver и BusCompany да се напише соодветен конструктор, set и get методи (10 поени). За класата BusCompany да се напишат методите contains(int id), која треба да провери дали некоја од линиите кои ги нуди компанијата била изведена од шофер со шифра id (5 поени) и го враќа индексот на линијата во низата доколку има таков лет и -1 доколку нема таков лет, како и методата salary(Driver *drivers, int n), која прима низа од n шофери и треба да ја испечати платата која секој од шоферите во низата треба да ја земе. Во низата со шофери може да има шофери кои немат извозено ниту една линија (10 поени). За класата BusCompany да се преоптовари операторот += за додавање на нова линија (објект од класата Line) во низата со линии (10 поени). Да се напише main() функција за да се тестират класите. (5 поени)
Забелешка: Задачата се решава во програмскиот јазик C++.

Ako mozi nekoj da mi ja resi zadacava?
 
M

Mr.InF3ction

Гостин
naturebum

Сакам да ти помогнам, ама многу е досадно куцање на цела класа, посeбно тие податоците што се чуваат, конструктор. сет и гет методи..ај барем тоа куцај и другото ќе средам ...предпоставуам знаеш да напишеш тоа ? :)

PHP:
#include <iostream>
#include <string.h>
 
using namespace std;
//Treba samo metodite da gi napisis(metodot contains mi e napisan samo proveri dali e tocen i daj mi primer kako da gi testiram metodive i += operatorot vo main  fala mnogu) i += operatorot
class Line {
private:
    int sifraLinija;
    int sifra_sofer;
    char trgnuva[30];
    char pristignuva[30];
 
public:
    Line() {
        sifraLinija = -1;
        sifra_sofer = -1;
        trgnuva[0] = '\0';
        pristignuva[0] = '\0';
    }
    Line(const char *t, const char *p, int sifra_sofer, int sifraLinija) {
        this->sifraLinija=sifraLinija;
        this->sifra_sofer=sifra_sofer;
        strncpy(trgnuva,t,30);
        trgnuva[30]='\0';
        strncpy(pristignuva,p,30);
        pristignuva[30]='\0';
 
    }
    int getSifraLinija() {
        return sifraLinija;
    }
    int getSifraSofer() {
        return sifra_sofer;
    }
    Line(const Line &l) {
        sifraLinija=l.sifraLinija;
        strncpy(trgnuva,l.trgnuva,30);
        trgnuva[30]='\0';
        strncpy(pristignuva,l.pristignuva,30);
        trgnuva[30]='\0';
        sifra_sofer=l.sifra_sofer;
    }
 
    friend ostream & operator <<(ostream & out,  Line &l) {
        out << l.getSifraSofer() << " - " <<l.trgnuva<< " -> " << l.pristignuva<<endl;
        return out;
    }
 
    ~Line() {}
 
 
};
 
class Driver {
private:
    int sifra_sofer;
    double plata;
    char ime[30];
 
public:
    Driver( const char *ime, double plata, int sifra_sofer) {
        this->sifra_sofer=sifra_sofer;
        this->plata=plata;
        strncpy(this->ime,ime,30);
        this->ime[30]='\0';
    }
    int getSifraSofer() {
        return sifra_sofer;
    }
    double getPlata() {
        return plata;
    }
    char* getImeSofer() {
        return ime;
    }
};
 
class BusCompany {
private:
    Line *linii;
    int br_letovi;
    char ime[50];
 
public:
    BusCompany( char *m, Line *l,int br) {
        br_letovi = br;
        linii=new Line[br_letovi];
        for(int i=0; i < br_letovi; i++) {
            linii[i] = l[i];
        }
        strncpy(ime,m,50);
        ime[50]='\0';
    }
 
    int contains(int id) {
        for(int i=0; i<br_letovi; i++) {
            if(linii[i].getSifraLinija() == id) {
                return i;
            }
        }
        return -1;
    }
 
    void salary(Driver *drivers, int brSoferi) {
        for(int i = 0; i < brSoferi; i++) { //izminuva site soferi sto se od vlezot
            double sumaPlata = 0;
            for(int j = 0; j < this->br_letovi; j++) { // izminuva site liniii vo firmata
                if(drivers[i].getSifraSofer() == this->linii[j].getSifraSofer()) { // proveruva dali ID to na I tiot sofer e ist so ID to na J linija
                    sumaPlata += drivers[i].getPlata();
                }
            }
            cout << "Plata na " << drivers[i].getImeSofer() << " so ID \"" << drivers[i].getSifraSofer() << "\""<< " : " << sumaPlata << endl;
        }
    }
    void pintSite() {
        for(int i = 0; i < br_letovi; i++) {
            cout << linii[i];
        }
    }
 
    BusCompany& operator+=(const Line& linija){
        Line *tmp = new Line[br_letovi+1];
        for(int i = 0; i < br_letovi; i++){
            tmp[i] = this->linii[i];
        }
        delete [] linii;
        tmp[br_letovi++] = linija;
        linii = tmp;
        return *this;
    }
};
 
 
int main () {
    Line lines[3] = { Line("Skopje","Struga", 1,22),Line("Skopje","Kumanovo", 2,22), Line("Skopje","Mars", 3,33)};
    Driver driver[3] = {Driver("Prv", 25000,1), Driver("Vtor", 25000,2), Driver("Tret", 25000,3)};
 
    BusCompany comp ("Firma", lines, 3);
 
 
    comp.pintSite();
    comp.salary(driver,3);
 
    cout << comp.contains(22) << endl;
    comp +=lines[0];
    comp +=lines[0];
    comp.salary(driver,3);
 
 
}
 
Член од
5 јануари 2008
Мислења
2.801
Поени од реакции
3.053
Да се креира класа за претставување на хор во која ќе се чуваат информации за името на хорот (динамички алоцирана низа од знаци), број на поминати тури (цел број) и број на членови во хорот (цел број). За оваа класа да се напише (5 поени):
- конструктор, copy – конструктор, деструктор (10 поени)
- оператор = за доделување (5 поени)
- оператор ++ (postfix нотација) за зголемување на бројот на членови за еден член (5 поени)
- оператор + за собирање на два хора кој како резултат враќа хор со број на тури еднаков на збирот од поминатите тури од двата хора, а останатите атрибути на резултантниот хор ги добиваат вредностите на соодветните атрибути од хорот со поголем број на тури (5 поени)
- оператори >, < за споредба во однос на бројот на поминати тури на два хора (5 поени)
- оператор << за печатење на информациите за хорот (5 поени)
Да се напише функција која на влез прима низа од хорови и вкупен број на хорови во низата и го печати хорот кој има најмал број на поминати тури (10 поени).

Ја пишав програмата ама дека c++ сум почетник со синтаксата не ми сака нешто, односно ако може некој да ми каже каде грешам во задачата. (со посебно внимание на синтакса).

PHP:
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
class hor
{
    private:
    char *ime;
    int brtur;
    int brclen;
 
 
public:
hor (char *ime1,int brtur1,int brclen1)
{
    ime=new char[strlen(ime1)+1];
    strcpy(ime,ime1);
    brtur=brtur1;
    brclen=brclen1;
 
}
hor (const hor& x)
{
    ime=new char[strlen(x.ime)+1];
    strcpy(ime,x.ime);
    brtur=x.brtur;
    brclen=x.brclen;
}
~hor (){delete [] ime;}
 
char *getime(){return ime;}
int getbrtur(){return brtur;}
int getbrclen(){return brclen;}
 
hor& operator= (const hor & x)
{
 
 
    ime=new char[strlen(x.ime)+1];
    strcpy(ime,x.ime);
    brtur=x.brtur;
    brclen=x.brclen;
  return *this;
}
hor& operator+(hor & x)
{
    brtur+=x.brtur;
    if(x.brtur>brtur)
    {
        ime=new char [strlen(x.ime)+1];
        strcpy(ime,x.ime);
        brclen=x.brclen;
 
    }
    return *this;
}
bool operator>(hor & x)
{
    return (brtur>x.brtur);
}
friend ostream & operator <<(ostream & out,hor &x)
{
    out<<"ime:"<<x.ime<<"brtur:"<<x.brtur<<"brclen:"<<x.brclen<<endl;
    return out;
}
};
void pecati(hor *niza,int n)
{
    hor pom=niza[0];
    for(int i=0;i<n;i++)
    if(niza[i].getbrtur()<pom.getbrtur())
    pom=niza[i];
    cout<<pom;
}
Mи јавува грешка само "undifined reference to 'WinMain@16'
 
M

Mr.InF3ction

Гостин
Важи правилото дека за секоја програма мора да има main функција...кај тебе ја нема таа функција, тоа е проблемот. И кога преоптоваруваш оператор ' = ' прво провери дали се случува нешто од типот а = а, тогаш нема потреба да правиш ништо веднаш враќаш истиот објект..
 

Riste123

RISTE
Член од
7 октомври 2009
Мислења
100
Поени од реакции
3
А има ли ја книгата на македонски онлајн или мора да ја купувам од негде ?
 
Член од
28 октомври 2012
Мислења
272
Поени од реакции
39
Zdravo. Me interrsira kade mozam da najdam tutorial kade sto moze da se nauci: sto znacat poedinecnite bukvi kako na pr: a, b,c,h,f,i,s i tkn. I dali tie bukvi imaat razlicno znacenje vo razlicni programski jazici. Vi blagodaram mnogu
 

Kajgana Shop

На врв Bottom