Форум программистов, компьютерный форум CyberForum.ru

сортировка по фамилии пузырьком - C++

Восстановить пароль Регистрация
 
Вакс Соня
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 5
29.05.2013, 17:17     сортировка по фамилии пузырьком #1
Написала сортировку по фамилии пузырьком. на вход подается
petrov petr petrovich 5 5 5 5 5
ivanov ivan ivanovich 5 5 5 5 5
ivanov ivan aleks 5 5 5 5 5
ivanov sergey ivanovich 5 5 5 5 5
sidorov sid sid 5 5 5 5 5

Почему-то программа при запуске прекращает работу. При отладке пишет, что
Необработанное исключение в "0x5570261b (msvcr100d.dll)" в "прогр.exe": 0xC0000005: Нарушение прав доступа при чтении "0x01fbbf2b".

Что это и как это исправить?
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
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;
 
 
ifstream in("in.txt");
ofstream out("out.txt");
struct stud{
    string family, name, surname;
    int ses[5], sum;
     void print();};
 
 
 
void stud::print(){
    out<<family<<" "<<name<<" "<<surname<<endl;
  
}
 
void sorting (stud *a, int n)
{stud temp;
int i,j;
for(i=0; i<n-1; i++)
       for(j=n-1; j>i; j--)
       if (a[j].family<a[j-1].family){ 
       temp=a[j]; a[j]=a[j-1]; a[j-1]=temp;
       }
}
 
 
 
 
 
 
 
 
int main()
 
{ int n=0, i;
    stud a[5];
 
if(!in) cout<<"oshibka";
else {
    while(in.peek()!=EOF)
    { in>>a[n].family;
    in>>a[n].name;
    in>>a[n].surname;
    for(i=0; i<5; i++)
    {in>>a[n].ses[i];
    a[n].sum+=a[n].ses[i];}
    
 
    n++;}
 
sorting(a, n);
for(i=0; i<n; i++)
    a[i].print();}
 
in.close(); out.close();
  return 0;}
Заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 17:17     сортировка по фамилии пузырьком
Посмотрите здесь:

Сортировка пузырьком. C++
Сортировка пузырьком C++
Сортировка пузырьком C++
C++ Сортировка пузырьком
C++ Сортировка пузырьком
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
29.05.2013, 17:23     сортировка по фамилии пузырьком #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
else if (n < 5) {
    while(!in.eof())
    { in>>a[n].family;
    in>>a[n].name;
    in>>a[n].surname;
    a[n].sum = 0;
    for(i=0; i<5; i++)
    {in>>a[n].ses[i];
    a[n].sum+=a[n].ses[i];}
    
 
    n++;}
Вакс Соня
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 5
29.05.2013, 17:26  [ТС]     сортировка по фамилии пузырьком #3
Ничего не изменилось, также вылетает
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
29.05.2013, 17:29     сортировка по фамилии пузырьком #4
C++
1
2
3
4
5
6
7
8
9
void sorting (stud *a, int n)
{stud temp;
int i,j;
for(i=0; i<n-1; i++)
       for(j=n-1; j>i; j--)
       if (a[j].family<a[i].family){ 
       temp=a[j]; a[j]=a[j-1]; a[j-1]=temp;
       }
}
Вакс Соня
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 5
29.05.2013, 17:44  [ТС]     сортировка по фамилии пузырьком #5
Все равно вылетает

Добавлено через 4 минуты
Ввела 4 студента и заработало. Так и не поняла в чем ошибка была) Но все равно спасибо за помощь
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
29.05.2013, 18:06     сортировка по фамилии пузырьком #6
Вакс Соня, выход за границы массива
Yandex
Объявления
29.05.2013, 18:06     сортировка по фамилии пузырьком
Ответ Создать тему
Опции темы

Текущее время: 11:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru