Ако може малко помощ с една функция |
|
|
|
|
Публикувано на: 15.11.2008 11:12 |
|
|
Чирак
Мнения: (4)
|
значи това е кода, ако може да ми помогнете с една функция която да изкарва касетата която е с по-голяма продължителност
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| using namespace std;
struct kaseti
{
string zaglavie, company, coment;
double vreme, broi;
};
int main ()
{
kaseti vk[10];
int p;
cout << "Vavedete broi kaseti za opisanie: "; cin >> p;
for (int i=0; i<p; i++)
{
cout << "Danni za Video Kaseta N:" << i+1 << "\n\n";
cout << "Zaglavie: "; cin >> vk[i].zaglavie;
cout << "Kompania: "; cin >> vk[i].company;
cout << "Komentar: "; cin >> vk[i].coment;
cout << "Vremetraene v min.: "; cin >> vk[i].vreme;
cout << "Broi nali4ni kopia: "; cin >> vk[i].broi;
}
system("pause");
return 0;
} |
|
| |
|
|
|
|
|
|
|
Публикувано на: 15.11.2008 20:00 |
|
|
Ронин
Мнения: (40)
|
Значи вкарваш една променлива от тип double и една от тип int примерно double large; int el; след което и присвояваш стойността на нулевия елемент пример vk[0].vreme;
CODE1
2
3
| int el = 0;
double large;
large = vk[0].vreme; |
след това обхождаш със един цикъл for (int i=0; i<p; i++) точно като то|и с който въвеждаш данните в тялото на цикъла заложи една проверка с if(large <= vk [i].vreme)
CODE1
2
3
4
5
6
7
8
| for (int i=0; i<p; i++)
{
if(large < vk[i].vreme)
{
large = vk[i].vreme;
el = i;
}
} |
след като изпълниш цикъла накрая във променливата el ще е индекса на най-големия елемент т.е в твоя случай ще е филма с най-голяма продължителност.
|
| |
|
|
|
|
|
Публикувано на: 15.11.2008 21:41 |
|
|
Чирак
Мнения: (4)
|
[quote=sullivan@15.11.2008 20:00]Значи вкарваш една променлива от тип double и една от тип int примерно double large; int el; след което и присвояваш стойността на нулевия елемент пример vk[0].vreme;
CODE1
2
3
| int el = 0;
double large;
large = vk[0].vreme; |
след това обхождаш със един цикъл for (int i=0; i<p; i++) точно като то|и с който въвеждаш данните в тялото на цикъла заложи една проверка с if(large <= vk [i].vreme)
CODE1
2
3
4
5
6
7
8
| for (int i=0; i<p; i++)
{
if(large < vk[i].vreme)
{
large = vk[i].vreme;
el = i;
}
} |
след като изпълниш цикъла накрая във променливата el ще е индекса на най-големия елемент т.е в твоя случай ще е филма с най-голяма продължителност. [/quote]
мерси за помоща
|
| |
|
|
|
|
|
Публикувано на: 15.11.2008 22:01 |
|
|
|
|
Нещо такова
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| #include <iostream>
using namespace std;
struct kaseta
{
string zaglavie, company, coment;
double vreme;
unsigned broi; };
void max_len ( kaseta *obj, unsigned limit )
{
double item = 0;
unsigned iterator = 0;
while ( --limit >= 0 )
{
if ( item < obj[limit].vreme )
{
item = obj[limit].vreme;
iterator = limit;
}
}
cout << "Zaglavie : " << obj[iterator].zaglavie
<< " Kompania : " << obj[iterator].company
<< " Komentar : " << obj[iterator].coment
<< " vreme : " << obj[iterator].vreme
<< " broi : " << obj[iterator].broi << endl;
}
int main ()
{
kaseta vk[10];
int p;
cout << "Vavedete broi kaseti za opisanie: "; cin >> p;
for (int i=0; i<p; i++)
{
cout << "Danni za Video Kaseta N:" << i+1 << "\n\n";
cout << "Zaglavie: "; cin >> vk[i].zaglavie;
cout << "Kompania: "; cin >> vk[i].company;
cout << "Komentar: "; cin >> vk[i].coment;
cout << "Vremetraene v min.: "; cin >> vk[i].vreme;
cout << "Broi nali4ni kopia: "; cin >> vk[i].broi;
}
max_len (vk, (unsigned)p);
return 0;
} |
|
| |
|
|
|
|
|
Публикувано на: 29.11.2008 11:41 |
|
|
Чирак
Мнения: (4)
|
Мерси на всички за помоща отидох да предам програмата обаче ми каза че ще приеме задачата така но дава по-малко точки защото не е с класове направена, аз не я почнах с класове защото нямам никаква представа от този раздел "малко" ми е мътна индия започнах преобразуването но се зациклям и се грешки ако може да помогнете малко:
ето какви фокуси съм направил до тук
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
| using namespace std;
class kaseti
{
private:
string zaglavie, company, coment;
double broi,vreme;
public:
kaseti();
kaseti(string z, string k, string c);
string getZaglavie(), getCompany(), getComent();
double getVreme(), getBroi();
void setZaglavie(string z), setCompany(string k), setComent(string c), setVreme(double), setBroi(double);
void Print();
};
void kaseti::setZaglavie(string z)
{
zaglavie = z;
}
void kaseti::getZaglavie()
{
return zaglavie;
}
void kaseti::setCompany(string k)
{
company = k;
}
void kaseti::getCompany()
{
return company;
}
void kaseti::setComent(string c)
{
coment = c;
}
void kaseti::getComent()
{
return coment;
}
void kaseti::Print()
{
cout << zaglavie << "," << company << "," << coment;
}
int main ()
{
kaseti vk[10];
int p;
cout << "Vavedete broi kaseti za opisanie: "; cin >> p;
for (int i=0; i<p; i++)
{
cout << "\n Danni za Video Kaseta N:" << i+1 << "\n\n";
cout << "Zaglavie: "; cin >> vk[i].zaglavie;
cout << "Kompania: "; cin >> vk[i].company;
cout << "Komentar: "; cin >> vk[i].coment;
cout << "Vremetraene v min.: "; cin >> vk[i].vreme;
cout << "Broi nali4ni kopia: "; cin >> vk[i].broi;
}
int el = 0;
double large;
large = vk[0].vreme;
for (int i=0; i<p; i++)
{
if(large <= vk[i].vreme)
{
large = vk[i].vreme;
el = i+1;
}
}
cout << "Kasetata s nai-golqma prodaljitelnos e N:" <<el<<" s vremetraene "<< large<<"min\n";
system("pause");
return 0;
} |
|
| |
Това мнение е редактирано от wisher на 29.11.2008 13:18
|
|
|