Форум программистов, компьютерный форум, киберфорум
Наши страницы

Массив структур - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Полное решение, классы!!! + проверь свой АНГЛ!!! http://www.cyberforum.ru/cpp-beginners/thread208266.html
необходимо полное решение с оформлением
C++ С++ Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны координаты левого нижнего угла каждого из них... 17)Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны координаты левого нижнего угла каждого из них и длины их сторон. Один прямоугольник назовём... http://www.cyberforum.ru/cpp-beginners/thread208257.html
C++ "cin","cout" на "printf","scanf"
Вот ещё прога. Мне чисто нужно переделать её на printf,scanf и не используя функцию show, а puts и gets. #include <iostream> using namespace std; void show(char *f,char *i,char *o) { cout...
Переместить элемент в конец списка и вывести указатели на первый и последний элементы C++
Помогите, пожалуйста! Прошу вас о помощи в написании программы на С++... Задача такова: Дан указатель P0 на один из элементов непустого двусвязного списка. Переместить данный элемент в конец списка...
C++ Подсчитать число вхождений буквы "a" в строку http://www.cyberforum.ru/cpp-beginners/thread208225.html
Ребят помогите пожалуйста решить задачу,завтра лабу сдавать,а я в этом ничего не понимаю...( 15. Введите с клавиатуры строку символов, после чего подсчитайте суммарное число вхождений буквы...
C++ Напечатать в пятеричной системе исчисления числа от 0 до n Заданное натуральное число n. Напечатать в пятеричной системе исчисления числа от 0 до n. Задане натуральне число n. Надрукувати в п’ятірковій системі числення числа від 0 до n. Оффициальным... подробнее

Показать сообщение отдельно
nondeadlollipop
1 / 1 / 0
Регистрация: 21.11.2010
Сообщений: 20

Массив структур - C++

11.12.2010, 06:40. Просмотров 526. Ответов 4
Метки (Все метки)

Задача:создать массив структур а,содержащий фамилию и 3 оценки.Найти студентов,чей средний балл выше среднего группы и упорядочить по алфавиту.
Получить массив и вывести на экран.

вышел такой код:
C++
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
#include <iostream>
#include <string.h>
#include <iomanip>
#include <conio.h>
using namespace std;
 
const int Nmax=100;
    float srg;
struct stud
{
    char fio[20];
    int oc[3];
    float sr;
}a[Nmax],b[Nmax];
 
void vvod(int &n,stud am[])
{
    int i;
    cout<<"Razmer massiva";
    cin>>n;
    for(i=0;i<n;i++)
        {
            cout<<"Student # "<<i<<endl;
            cout<<"Familiya"<<endl;
            scanf("%s",a[i].fio);
            cout<<"3 ocenki"<<endl;
            scanf("%d %d %d",&a[i].oc[0],&a[i].oc[1],&a[i].oc[2]);
            a[i].sr=(a[i].oc[0]+a[i].oc[1]+a[i].oc[2])/3;
            srg+=a[i].sr;
        }
}
 
void vubor(int n,stud am[],int nb,stud bm[])
{
    int i,j;
    int nb=-1;
    srg/=n;
    for(i=0;i<n;i++)
        if(a[i].sr>srg) nb++,b[nb]=a[i];
}
 
void sort(int nb,stud bm[])
{
    int nb=-1;
    stud s;
    for(int i=0;i<nb-1;i++)
        for(int j=0;j<i;j++)
            if(strcmp(b[j].fio,b[j+1].fio)>0) s=b[j],b[j]=b[j+1],b[j+1]=s;
 
}
 
void vuvod(int n,stud am[])
{
    cout<<"|"<<setw(12)<<"Familiya"<<"|"<<setw(9)<<"Ocenki"<<"|"<<setw(8)<<"Srednee"<<"|"<<"\n";
    cout<<"|"<<setw(31)<<"-------------------------------"<<"|"<<"\n";
    for(int i=0;i<n;i++)
        cout<<"|"<<setw(12)<<a[i].fio<<"|  "<<a[i].oc[0]<<"  "<<a[i].oc[1]<<"  "<<a[i].oc[2]<<"|"<<setw(8)<<a[i].sr<<"|"<<endl;
}
 
void main()
{
    int n,nb;
    vvod(n,a);
    cout<<"Vvedennui massiv"<<endl;
    vuvod(n,a);
    vubor(n,a,nb,b);
    sort(nb,b);
    cout<<"Polucennui massiv"<<endl;
    vuvod(nb,b);
    getch();
}
при компиляции выдает ошибку вида: nb не инициализированная переменная.
Run-Time Check Failure #3 - The variable 'nb' is being used without being initialized.
и начинает выдавать ее в строке vubor(n,a,nb,b); функции main
что не так в коде?вроде когда nb убираешь он не хочет сортировать,выдает тот же массив.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.