![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 58
|
![]()
Итак, приветствую всех, к сожалению, у меня возник вопрос. Задача такая:
В файле Input.txt содержаться сведения о группе студентов в формате номер группы запись о каждом человеке: фамилия, имя, отчество, год рождения, оценки по пяти предметам Переписать данные файла input.txt в output.txt, отсортировав их по возрастанию средней оценки методом выбора ( среднюю оценку вывести в output.txt для каждого студента ). Теперь то, что я написал сам: #include<stdio.h> #include<string.h> FILE *f=fopen("input.txt","r"); FILE *h=fopen("output.txt","w"); struct mas {char fam[15],name[15],secondname[15]; int ses[5]; int key;}; void sort(mas *a,int n) {mas temp; int lowkey; int lowindex; int i,j; for(i=0;i<n-1;i++) {lowindex=i; lowkey=a[i].key; for(j=i+1;j<n;j++) if (a[j].key<lowkey) {lowkey=a[j].key; lowindex=j;} temp=a[i]; a[i]=a[lowindex]; a[lowindex]=temp;} } void main() { int n,m,i,j; fscanf(f,"%d",&m); fscanf(f,"%d",&n); mas *a; a=new mas [n]; for (i=0; i<n; i++) {fscanf(f,"%s %s %s",a[i].fam,a[i].name,a[i].secondname); a[i].key=0; for(j=0;j<5;j++) {fscanf(f,"%d", &a[i].ses[j]); a[i].key+=a[i].ses[j];} /* a[i].key/=float(5);*/} sort(a,n); fprintf(h,"%d\n",m); fprintf(h,"%d\n",n); for (i=0;i<n;i++) {fprintf(h,"%s %s %s ",a[i].fam, a[i].name, a[i].secondname); for (j=0;j<5;j++) fprintf(h,"%d ",a[i].ses[j]); fprintf(h,"%d\n",a[i].key);} delete a; fcloseall();} Проблема в том, что в файле вывода написано нечто непонятно, символы, большие числа, не имеющие отношения... не могу найти ошибку... Пожалуйста, помогите кто чем сможет! Большое спасибо! |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 16.04.2009
Сообщений: 247
|
![]()
Перед параметрами fscanf нужно писать &.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 58
|
![]()
Извините, что поднимаю тему, но у меня по-прежнему есть ошибка, устранить ее никак не получается. Пробовал ставить &, не помогло. Звучит как то так :"one or more multiply defined symbols found" Есть идеи, профессионалы?
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 03.12.2008
Сообщений: 58
|
![]()
Ошибка по про прежнему есть, постановка & не помогла ни чуть ...
|
![]() |
![]() |
![]() |
#5 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
![]()
Graf Xandr, код заключайте в тег CODE ("#" на панели в окне редактирования).
Дальше. Структурируйте код! В том виде, в каком вы его выложили, его читать невозможно. Приводите пример исходного файла. Как-то нет особого желания придумывать самому (еще и при том, что я сначала не до конца понял его структуру). Код:
Graf Xandr, чем качественнее будет исходная информация по заданию, тем быстрее вы получите ответ. И меньше людей пройдут мимо.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка массива методом прямого выбора(Дельфи) | Onza | Помощь студентам | 20 | 25.01.2009 12:05 |
Помогите - Сортировка методом пузырька Delphi | #Nii | Помощь студентам | 5 | 21.12.2008 14:53 |
сортировка методом двухпроходного пузырька. | Net* | Общие вопросы C/C++ | 3 | 26.05.2008 07:17 |