Регистрирайте се безплатно, за да използвате услугите на сайта! | Вход
Начало Новини ИТ Работа Форум Видео Уроци Скриптове WiFi точки MyLinks Mytech Още


Нова тема
Ако може малко помощ с една функция
Тази тема е погледната 220 пъти
Добави темата към любими | Принтирай темата | Нова тема 
Публикувано на: 15.11.2008 11:12
wisher
Чирак

Мнения: (4)

значи това е кода, ако може да ми помогнете с една функция която да изкарва касетата която е с по-голяма продължителност

CODE
1
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
#include<iostream>

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;
}


 
---------------------------
Потребител от: 17.05.08 | Всички уроци от wisher | Всички скриптове от wisher
напиши eMail напиши лично съобщение виж профила на wisher
Публикувано на: 15.11.2008 20:00
sullivan
Ронин

Мнения: (40)

Значи вкарваш една променлива от тип double и една от тип int примерно double large; int el; след което и присвояваш стойността на нулевия елемент пример vk[0].vreme;
CODE
1
2
3
int el = 0;
double large;
large = vk[0].vreme;
след това обхождаш със един цикъл for (int i=0; i<p; i++) точно като то|и с който въвеждаш данните в тялото на цикъла заложи една проверка с if(large <= vk[i].vreme)
CODE
1
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 ще е индекса на най-големия елемент т.е в твоя случай ще е филма с най-голяма продължителност.


 
---------------------------
Потребител от: 01.12.06 | Всички уроци от sullivan | Всички скриптове от sullivan
напиши eMail напиши лично съобщение виж профила на sullivan
Публикувано на: 15.11.2008 21:41
wisher
Чирак

Мнения: (4)

[quote=sullivan@15.11.2008 20:00]Значи вкарваш една променлива от тип double и една от тип int примерно double large; int el; след което и присвояваш стойността на нулевия елемент пример vk[0].vreme;
CODE
1
2
3
int el = 0;
double large;
large = vk[0].vreme;
след това обхождаш със един цикъл for (int i=0; i<p; i++) точно като то|и с който въвеждаш данните в тялото на цикъла заложи една проверка с if(large <= vk[i].vreme)
CODE
1
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]

мерси за помоща


 
---------------------------
Потребител от: 17.05.08 | Всички уроци от wisher | Всички скриптове от wisher
напиши eMail напиши лично съобщение виж профила на wisher
Публикувано на: 15.11.2008 22:01
Miro
Ронин

Модератор

Мнения: (308)

Нещо такова

CODE
1
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; // mai ne mozhe da e 0 ili po - malko a ?
   
};


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;
}


 
---------------------------
Потребител от: 22.09.06 | Всички уроци от Miro | Всички скриптове от Miro
напиши eMail напиши лично съобщение виж профила на Miro
Публикувано на: 29.11.2008 11:41
wisher
Чирак

Мнения: (4)

Мерси на всички за помоща отидох да предам програмата обаче ми каза че ще приеме задачата така но дава по-малко точки защото не е с класове направена, аз не я почнах с класове защото нямам никаква представа от този раздел "малко" ми е мътна индия започнах преобразуването но се зациклям и се грешки ако може да помогнете малко:
ето какви фокуси съм направил до тук
CODE
1
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
#include<iostream>

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
---------------------------
Потребител от: 17.05.08 | Всички уроци от wisher | Всички скриптове от wisher
напиши eMail напиши лично съобщение виж профила на wisher
 1 посетител чете тази тема (0 потребители и 1 гост)  
Активни потребители: ---
   




mytech.bg © 2004 - 2009 | Контакти | За реклама