Показать сообщение отдельно

  #2853  
Старый 05.06.2010, 14:28
XimiK69
Новичок
Регистрация: 02.01.2010
Сообщений: 26
Провел на форуме:
33560

Репутация: 15
По умолчанию

Цитата:
Сообщение от Lerr777  
народ,кто нибудь может помочь с постом#2792 и#2793.С меня++++++
Задача про студентов . . .
PHP код:
#include <iostream>
#include <string>
using namespace std;

const 
int C 3;
struct Student{
    
string _name;
    
int _group;
    
double _mark[C];
};

int Start();
void CreateBasa(Student *&Basaint N);
template <typename Tvoid Sort(Student *&Basaint NT symbol);
bool cmp(Student firstStudent lastchar c);
bool cmp(Student firstStudent lastint c);
bool cmp(Student firstStudent lastdouble c);
int Print(Student *Basaint N);
int PrintBasa(Student *Basaint N);

int main(){
    
setlocale(LC_CTYPE,".1251");
    
Start();
    return 
0;
}

//-----------------------
int Start(){
    
int N 0;
    
cout << "Сколько студентов в базе: ";
    
cin >> N;

    
Student *Basa = new Student[N];

    
CreateBasa(Basa,N);
    
Sort(Basa,N,1.0);
    
PrintBasa(Basa,N);
    Print(
Basa,N);
    
delete[] Basa;
    return 
0;
}

//------------------------
void CreateBasa(Student *&Basaint N){
    for(
int i 0Ni++){
        
cout << "Имя студента: ";
        
cin >> Basa[i]._name;
        
cout << "Номер группы: ";
        
cin >> Basa[i]._group;
        
cout << "Оценки по предметам: ";
        for(
int j 0Cj++){
            
cout << "Оценка по предмету: ";
            
cin >> Basa[i]._mark[j];
        }
    }
}
//------------------------
template <typename T>
void Sort(Student *&Basaint NT symbol){
    
bool fl;
    do{
        
fl false;
        for(
int i 0N-1i++){
            if( 
cmp(Basa[i],Basa[i+1],symbol) ){
                
Student tmp Basa[i];
                
Basa[i] = Basa[i+1];
                
Basa[i+1] = tmp;
                
fl true;
            }
        }
    }while(
fl);
}

//---------------------
bool cmp(Student firstStudent lastchar c){
    if(
first._name first._name){
        return 
true;
    }
    return 
false;
}
//---------------------
bool cmp(Student firstStudent lastint c){
    if(
first._grouplast._group){
        return 
true;
    }
    return 
false;
}
//---------------------
bool cmp(Student firstStudent lastdouble c){
    
double FRes 0.0LRes 0.0
    for(
int i 0Ci++){
        
FRes += first._mark[i];
        
LRes += last._mark[i];
    }
    if(
FRes LRes){
        return 
true;
    }
    return 
false;
}

//---------------
int Print(Student *Basaint N){
    
double Good 4.0;
    
bool flag truefl true;
    for(
int i 0Ni++){
        for(
int j 0Cj++){
            if(
Basa[i]._mark[j] < Good){
                
flag false; break;
            }
        }
        if(
flag){
            
cout << Basa[i]._name << " " << Basa[i]._group << endl;
            
fl false;
        }
        
flag true
    }
    if(
fl){ cout << "\"Хороших\" студентов нет" << endl; }
    return 
0;
}

//-----------------
int PrintBasa(Student *Basaint N){
    for(
int i 0Ni++){
        
cout << Basa[i]._name << " " << Basa[i]._group << " ";
        for(
int j 0Cj++)
            
cout << Basa[i]._mark[j] << " ";
        
cout << endl;
    }
    return 
0;

Сортировку "Пузырек" можешь заменить на более быструю сортировку, писал просто для примера или задачу надо было писать на классах?
 
Ответить с цитированием