• Важно
    Имате проблем со најава или регистрација на it.mk?
    Побарајте го решението на вашиот проблем ТУКА!

ФЕИТ C++ Програми

Статус
Затворена за нови мислења.

mkhost

Intern
6 април 2007
14
0
mkhost.com
Лабораториска 4.1.cpp [ Понеделник 02.04.2007 ]

Да се напишат три структури со следните податочни елементи:
- тркало: радиус, ширина, маса;
- мотор: зафатнина, сила, маса;
- шасија: материјал, маса ;
Да се напише структура која опишува автомобил составена од погоре опишаните
структури:
- автомобил: тркало, шасија и мотор;
Последната структура треба да содржи функција која го пресметува приближниот
коефициент на очекувано забрзување (КОЗ) според следната формула:
а ≈ сила_на_моторот/маса_на_колата ширина_на_тркала радиус_на _тркала
Да се напише програма во која се споредуваат две коли според нивниот коефициент
на очекувано забрзување. Податоци за колите се внесуват од тастатура. Сите податоци
се во основните физички величини (м, кг и сл.). Да се одреди која од двете коли е
побрза.

Пример:
Vnesi podatoci za prvata kola:
Trkala: 0.25 0.22 18
Motor: 0.0014 100 150
Shasija: Zelezo 450
KOZ=2.70562
Vnesi podatoci za vtorata kola:
Trkala: 0.23 0.2 15
Motor: 0.0016 120 190
Shasija: Aluminium 500
KOZ=3.63636
Pobrza e vtorata kola.

Решение:
Код:
#include <iostream>
using namespace std;
 
struct trkalo{
float radius;
float sirina;
float masa;
};
 
struct motor{
float zafatnina;
float sila;
float masa;
};
 
struct sasija{
char materijal[20];
float masa;
};
 
struct avtomobil{
trkalo tr;
motor mt;
sasija ss;
float presmetka();
};
 
float avtomobil::presmetka()
{
float KOZ;
KOZ=(mt.sila)/((ss.masa+mt.masa+4*tr.masa)*tr.sirina*tr.radius);
return KOZ;
}
 
int main(){
avtomobil a1,a2;
cout<<"Vnesete podatoci za prviot avtomobil: \n";
cout<<"Podatoci za trakloto: \t";
cin>>a1.tr.radius>>a1.tr.sirina>>a1.tr.masa;
cout<<"Podatoci za motorot: \t";
cin>>a1.mt.zafatnina>>a1.mt.sila>>a1.mt.masa;
cout<<"Podatoci za shasijata: \t";
cin>>a1.ss.materijal>>a1.ss.masa;
cout<<"koz="<<a1.presmetka();
cout<<"Vnesete podatoci za vtoriot avtomobil: \n";
cout<<"Podatoci za trakloto: \t";
cin>>a2.tr.radius>>a2.tr.sirina>>a2.tr.masa;
cout<<"Podatoci za motorot: \t";
cin>>a2.mt.zafatnina>>a2.mt.sila>>a2.mt.masa;
cout<<"Podatoci za shasijata: \t";
cin>>a2.ss.materijal>>a2.ss.masa;
cout<<"koz="<<a2.presmetka();
if (a1.presmetka()>a2.presmetka()) 
cout<<"Pobrza e prvata kola.\n";
else 
cout<<"Pobrza e vtorata kola.\n";
return 0;
}
Компајлирани и тестирано од Викса.
 

mkhost

Intern
6 април 2007
14
0
mkhost.com
Лабораториска 4.2.cpp [ Понеделник 02.04.2007 ]

Лабораториска 4.2.cpp [ Понеделник 02.04.2007 ]
Да се напише класа Triagolnik во која
a) ќе се чуваат податоци за должините на страните (private) на триаголникот
и ќе бидат дефинирани функции (public) за
- пресметување на периметар
- пресметување на плоштина
b) да се дефинира и дополнителна функција (public) во рамките на класата
која ќе пресметува волумен на тространа пирамида креирана над
триаголникот дефиниран во класата, nа koja како аргумент и се
проследува висина на пирамидата h.
Bо главната програма да се креираат два објекти за кои корисникот внесува податоци
од тастатура. Корисникот исто така внесува две висини, соодветно за секој
триаголник со кои се дефинираат две пирамиди. Да се изврши проверка која
пирамида има поголем волумен, а на екран да се испише периметарот на
основата, површината на базисот и волуменот на пирамидата со поголем волумен.
Печатењето на страните на триаголникот да се реализира со посебна функција
декларирана во рамките на класата.
class Triagolnik
{
private:
int a,b,c;
public:
Triagolnik();
~Triagolnik() {};
int Perimetar();
float Povrsina();
float Vol_piramida(int );
void Pecati();
};
Напомена: Се претпоставува дека страните го исполнуваат условот за триаголник.
Vnesi strani za prviot triagolnik: 3 4 5
Vnesi visina: 10
Vnesi strani za vtoriot triagolnik: 6 8 10
Vnesi visina: 2
Piramidata so pogolem volumen ima osnova triagolnik so strani :
a=3 b=4 c=5
I visina h = 10
Perimetarot na osnovata iznesuva: 12
Plostinata na osnovata iznesuva: 6
Nejziniot volumen iznesuva: 20


Решение:
Код:
#include <iostream>
#include <cmath>
using namespace std;					
 
class Triagolnik{
private:
        int a,b,c;
public:
Triagolnik(){};
Triagolnik(int, int, int );
~Triagolnik(){};
int Perimetar();
float Povrsina();
float Vol_Piramida(int);
void Pecati();
};
 
Triagolnik::Triagolnik(int x, int y, int z){a=x; b=y; c=z; }
int Triagolnik::Perimetar(){return a+b+c;}
float Triagolnik::Povrsina(){int s=(a+b+c)/2; return sqrt(s*(s-a)*(s-b)*(s-c));}
float Triagolnik::Vol_Piramida(int h) {return (Triagolnik::Povrsina()*h/3); }
 
int main()
{
int h1,h2;
int a,b,c,e,f,g;
cout<<"Vnesi strani za prviot triagolnik :";
cin>>a>>b>>c;
cout<<"Vnesi visina: ";
cin>>h1;
cout<<"Vnesi strani za vtoriot triagolnik :";
cin>>e>>f>>g;
cout<<"Vnesi visina: ";
cin>>h2;
Triagolnik tr1(a,b,c) , tr2(e,f,g);
if(tr1.Vol_Piramida(h1)>tr1.Vol_Piramida(h2))
{
cout<<"Piramidata so pogolem volumen ima osnova triagolnik so strani: a="<<a<<" b="<<b<<" c="<<c<<endl<<"I visina h = "<<h1<<$
cout<<"Perimetarot na osnovata iznesuva: "<<tr1.Perimetar()<<endl;
cout<<"Plostinata na osnovata iznesuva: "<<tr1.Povrsina()<<endl;
cout<<"Nejziniot volumen iznesuva: "<<tr1.Vol_Piramida(h1)<<endl;
}
else
{
cout<<"Piramidata so pogolem volumen ima osnova triagolnik so strani: a="<<e<<" b="<<f<<" c="<<g<<endl<<" I visina h= "<<h2<<$
cout<<"Perimetarot na osnovata iznesuva: "<<tr2.Perimetar()<<endl;
cout<<"Plostinata na osnovata iznesuva: "<<tr2.Povrsina()<<endl;
cout<<"Nejziniot volumen iznesuva: "<<tr2.Vol_Piramida(h2)<<endl;
}
return 0;
}

Тестирано и компајлирано од Викса.
 

mkhost

Intern
6 април 2007
14
0
mkhost.com
Од тастатура се внесуваат непознат број ( не повеќе од 100 ) на лизгачки што учествуваат на светското првенство во уметничко лизгање. За секоја лизгачка се чуваат следните информации:
- име и презиме(низа од 50 знаци)
- стартен број(цел број -трицифрен)
- држава(код од 3 букви)
- поени од квалификација(реален број)
- поени од слободна програма(реален број)
Да се напише програма која ќе изврши сортирање на лизгачките според вкупниот број на поени и ќе ги испечати првите 10 најдобро рангирани во формат:

Kolku lizgacki ke vnesuvas?
3
Vnesuvajte so sledniot redosled: Ime, Prezime, Starten Broj, Drzava, Poeni od Kvalifikacija, Poeni slobodna programa
Irina Slutskaya 1 RUS 10 11
Elena Liashenko 2 UKR 15 20
Proba Makedonska 3 MKD 30 15
Pos StartBroj Ime i prezime Drzava Kvalif Slobod. Vkupno
0 3 Proba Makedonska MKD 30 15 45
1 2 Elena Liashenko UKR 15 20 35
2 1 Irina Slutskaya RUS 10 11 21


Решение:

Код:
#include <iostream>
using namespace std;

typedef struct lizgacka {
char ime[30], prezime[30];
int stbr;
char drzava[4];
float poenikv, poenisl;
};

void sort(lizgacka lizgacki[], int n);

int main()
{
lizgacka lizgacki[100];
int n,i,j;
cout<<"Kolku lizgacki ke vnesuvas?"<<endl;
cin>>n;
if(n>100) { cout<<"Vnesovte pogolem broj na lizgacki od dozvolenoto"<<endl; return (-1); }
cout<<"Vnesuvajte so sledniot redosled: Ime, Prezime, Starten Broj, Drzava, Poeni od Kvalifikacija, Poeni slobodna programa"
<<endl;
for (i=0;i<n;i++)
{
cin>>lizgacki[i].ime>>lizgacki[i].prezime>>lizgacki[i].stbr>>lizgacki[i].drzava>>lizgacki[i].poenikv>>lizgacki[i].poenisl;
}

sort(lizgacki,n);

cout<<"Pos StartBroj \t Ime i prezime \t Drzava \t Kvalif \t Slobod. \t Vkupno"<<endl;
for(i=0;i<n;i++)
{
cout<<i<<" "<<lizgacki[i].stbr<<" \t"<<lizgacki[i].ime<<" \t"<<lizgacki[i].prezime<<" \t"<<lizgacki[i].drzava<<" \t"<<
"\t"<<lizgacki[i].poenikv<<" \t"<<"\t"<<lizgacki[i].poenisl<<" \t"<<"\t"<<lizgacki[i].poenikv+lizgacki[i].poenisl<<endl;
}

return 0;
}
void sort(lizgacka lizgacki[],int n)
{
for(int i=0;i<n;i++)
   for(int j=0;j<n-i-1;j++)
        {
        if((lizgacki[j+1].poenikv+lizgacki[j+1].poenisl)>(lizgacki[j].poenikv+lizgacki[j].poenisl)) {lizgacka p; p=lizgacki[j]; lizgacki[j]=lizgacki[j+1]; lizgacki[j+1]=p; }
        }
}

Тестирани и искомпајлирано од Ивчо. gcc version 2.95.4 20020320 [FreeBSD]
 

CoCaiNa

Intern
10 април 2007
9
0
sogamed.com
Za citanje i printanje na vektori .?

//Read and Print vector A[n], n=5

#include <iostream>
using namespace std;

int main()
{
const n=5; //1. Number of elements
int A[n]; //2. Type of elements


cout<<"Read vector:"<<endl; //Read Vector

for (int i=0; i<n; i++)
{
cout<<"\nA["<<i<<"] = ";
cin>>A;
}


cout<<"\n\nPrint vector:"<<endl; //Print Vector

cout<<"\n\nA[5] = { ";
for (i=0; i<n; i++)
cout<<A<<" , ";
cout<<"\b\b}";


cin.get();cin.get();
return 0;
}



===============================

Za oni koi ne gi rabirat bas bobro sum gi pisel i kako se citat ..?
 
Статус
Затворена за нови мислења.

Нови мислења

Последни Теми

Статистика

Теми
44.622
Мислења
927.261
Членови
33.215
Огласи
1.325
Најнов член
TalkTalk
На врв Дно