0 / 0 / 2
Регистрация: 15.06.2015
Сообщений: 10
1

Сортировка в структуре

15.06.2015, 04:52. Показов 1588. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно создать структуру, вбить туда инфу: имя, факультет, группа, пропусков. вывести список у кого больше пропусков (отсортировать пожалуй, не обязательно) 10 чел. или сколько есть.

Добавлено через 39 минут
написал, по идеи должно работать, но ругается на strcmp "невозможно преобразовать параметр 1 из "char" в "const char *""
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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
struct vidomist
{
    char name;
    char phak;
    char grup;
    char propusk;
};
 
struct vidomist stud [12];
struct vidomist buf;
FILE  *fp,*fp1;
int minG;
int i,j;
 
 
int main()
{
    fp=fopen("input.txt","r");
    fp1=fopen("output.txt","w");
    for (i=0; i<12; i++)
    {
        fscanf(fp,"%s\t%s\t%s\t%d\n",stud[i].name, stud[i].phak, stud[i].grup, &stud[i].propusk);
    }
    fclose(fp);
 for (i=0;i<12;i++)
     {
     printf("%s\t",stud[i].name);
     printf("%s\t",stud[i].phak);
     printf("%s\t",stud[i].grup);
     printf("%d\n",stud[i].propusk);
 }
 getch();
 for (i=0;i<11;i++)
     {
         for (j=i+1;j<12;j++)
             if ( strcmp (stud[i].name, stud[j].name)>0){
                 buf=stud[i];
                 stud[i]=stud[minG];
                 stud[minG]=buf;
             }
 }
 printf("\nOUTPUT.TXT:\n");
 for (i=0; i<12; i++)
 {
     fprintf (fp1,"%s\t%s\t%s\t%d\n",stud[i].name, stud[i].phak, stud[i].grup, stud[i].propusk);
     printf("%s\t%d\n",stud[i].name, stud[i].propusk);
 }
 fclose (fp1);
 getch();
 return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2015, 04:52
Ответы с готовыми решениями:

Сортировка в структуре
Надо отсоритровать структуру по параметру &quot;Телефон&quot; Листал форум, вроде все написано правильно,...

Сортировка в структуре
По заданию нужно ввести данные в структуре, отсортировать по цене (от наименьшей к наибольшей) и...

Сортировка в структуре
Структура: struct Worker { string Name; int Year; ...

Сортировка в структуре
Нужно считать в структуру информацию из файла, и отсортировать по зарплате. В файле записана...

5
Неэпический
18098 / 10684 / 2061
Регистрация: 27.09.2012
Сообщений: 26,891
Записей в блоге: 1
15.06.2015, 05:16 2
А Вы в курсе, что
C++
1
char name;
это только под один символ?

А %s считывает целую ораву символов(до разделителя)?
0
0 / 0 / 2
Регистрация: 15.06.2015
Сообщений: 10
15.06.2015, 05:46  [ТС] 3
Croessmah,
я это понимаю и учел во время работы. Я нашел способ как сделать что б все заработало но текст и цифры нечитает
0
Неэпический
18098 / 10684 / 2061
Регистрация: 27.09.2012
Сообщений: 26,891
Записей в блоге: 1
15.06.2015, 06:28 4
Цитата Сообщение от DeLLoN Посмотреть сообщение
я это понимаю и учел во время работы.
Где код с исправлениями?
0
0 / 0 / 2
Регистрация: 15.06.2015
Сообщений: 10
15.06.2015, 06:47  [ТС] 5
ошибка где то в этой строке
C++
1
fscanf(fp,"%s\t %s\t %s\t %d\n",stud[i].name, stud[i].phak, stud[i].grup, stud[i].propusk);
в таком виде пишет что не может обработать. если заменить "%s" на другую функцию тогда текст плохо читается и выдает в таком виде:
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0
(null) (null) (null) 0

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
#include "stdafx.h"
#include <tchar.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <cstring>
 
 
using namespace std;
 
struct vidomist
{
    char name;
    char phak;
    char grup;
    char propusk;
};
 
struct vidomist stud[12];
struct vidomist buf;
FILE *fp,*fp1;
int minG;
int i,j;
 
int main()
{
    fp=fopen("input.txt","r");
    fp1=fopen("output.txt","w");
    for (i=0; i<12; i++)
    {
        fscanf(fp,"%s\t %s\t %s\t %d\n",stud[i].name, stud[i].phak, stud[i].grup, stud[i].propusk);
    }
    fclose(fp);
 for (i=0;i<12;i++)
     {
     printf("%s\t",stud[i].name);
     printf("%s\t",stud[i].phak);
     printf("%s\t",stud[i].grup);
     printf("%d\n",stud[i].propusk);
 }
 getch();
 for (i=0;i<11;i++)
     {
         for (j=i+1;j<12;j++)
             if ( strcmp (&stud[i].name, &stud[j].name)>0){
                 buf=stud[i];
                 stud[i]=stud[minG];
                 stud[minG]=buf;
             }
 }
 printf("\nOUTPUT.TXT:\n");
 for (i=0; i<12; i++)
 {
     fprintf (fp1,"%s\t%s\t%s\t%d\n",stud[i].name, stud[i].phak, stud[i].grup, stud[i].propusk);
     printf("%s\t%d\n",stud[i].name, stud[i].propusk);
 }
 fclose (fp1);
 getch();
 return 0;
}
данные в входном файле:
Alex inform INB 20
Calex mat HEr 30
Balex ist JVKNR 51
Lalex hornb KME 2
Ealex vmmrr LECJ 10
Alex inform INB 5
Calex mat HEr 7
Balex ist JVKNR 3
Lalex hornb KME 4
Ealex vmmrr LECJ 6
Alex inform INB 21
Calex mat HEr 32
0
Неэпический
18098 / 10684 / 2061
Регистрация: 27.09.2012
Сообщений: 26,891
Записей в блоге: 1
15.06.2015, 06:48 6
Цитата Сообщение от DeLLoN Посмотреть сообщение
ошибка где то в этой строке
Цитата Сообщение от DeLLoN Посмотреть сообщение
я это понимаю и учел во время работы
В каком месте учли?
Еще раз внимательно перечитайте пост #2
0
15.06.2015, 06:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2015, 06:48
Помогаю со студенческими работами здесь

Сортировка в структуре
Мне нужно отсортировать структуру по дате рождения #include &lt;iostream&gt; #include &lt;windows.h&gt;...

Сортировка по фамилии в структуре
Посмотрите пожалуйста структуру Студент! Нужно сделать сортировку по фамилии.Думаю, что с функцией...

Сортировка данных в структуре
Здравствуйте, как отсортировать структуру по количеству детей в семье struct Department1 {...

Сортировка данных в структуре
Написал код для структуры, содержащей список фамилий, имен, номеров телефона, дней рождения Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru