Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2009, 17:21   #1
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию Проблемы с компилятором

Код:
#include"fstream"
#include"iostream"
#include"string"
#include"iomanip"
using namespace std;
//открываем глобальные файловые потоки 
ifstream in("input.txt");
ofstream out("output.txt");
struct mas
{
	string F,I,O; //фамилия,имя, отчество
	int ses[5];//оценки по пяти предметам
	double key;//средняя оценка
	void print();
};
void mas::print()//вывод данных в выходной поток
{
	out<<setw(20)<<left<<F<<setw(20)<<I<<setw(20)<<O;
	for(int i=0; i<5;i++)
		out<<setw(12)<<ses[i];
	out<<setw(5)<<key<<endl;
}
//сортировка массива записей из n элементов методом Шелла
void sort(mas *a,int n)
{
	mas temp;
	int i,j,incr=n/2;
	while(incr>0)
	{
		for( i=0;i<n-incr;i++)//1 element
		{
			for( j=i-incr;j<n;j-=incr)//2 element
			{
				if(a[i].key>a[j].key)//sravnenie
				{
					temp=a[i]; //menyaem mestami
					a[i]=a[j];
					a[j]=temp;
				}
			
			}
		}
		incr=incr/2;
	}
}
					
	
int main()
{
	int n=0,i;
	mas stud[20];
	if(!in)cout<<"error in the open file input.txt\n";
	else
	{
		//in>>m;считываем номер группы
		while(in.peek()!=EOF)//считываем данные про всех студентов
		{
			in>>stud[n].F;
			in>>stud[n].I;
			in>>stud[n].O;
				//считываем оценки и высчитываем средний балл
			stud[n].key=0;
			for(i=0; i<5; i++)
			{
			in>>stud[n].ses[i];
			stud[n].key+=stud[n].ses[i];
			}
			stud[n].key/=5;
			n++;
		}

		sort(stud,n);//сортируем массива записей
		//выводим отсортированные данные в файл output.txt
	//out<<m<<endl;
		for(i=0;i<n;i++)
			stud[i].print();
	}
	in.close(); out.close();//закрываем файлы
	return 0;
}
Компилирую эту программу на Visual studio 2008,но при компиляции выдает ошибку
Скажите в чём проблема.

Последний раз редактировалось Many man; 06.05.2009 в 17:26.
Many man вне форума Ответить с цитированием
Старый 06.05.2009, 17:30   #2
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Код просматривать весь оч долго. Но вот могу предложить два варианта сортировки.

Сортировка-выбора.

Код:
void sort_vib(int *mas,int size){
	int i,j,max,maxc=0,tmp;
	for(i=size-1;i>0;i--){
		max=mas[0];
		maxc=0;
		for(j=0;j<=i;j++){
			if(mas[j]>max){
				maxc=j;
				max=mas[j];
			}
		}
		tmp=mas[i];
		mas[i]=mas[maxc];
		mas[maxc]=tmp;
	}
	for(i=0;i<size;i++){
		printf("%4d",mas[i]);
	}
}
И сортировка-вставкой.

Код:
void sort_vst(int *mas,int size){
	int i,tmp,j;
	for(i=1;i<size;i++){
		if(mas[i]<mas[i-1]){
			for(j=i;j>0;j--){
				if(mas[j-1]>mas[j]){
					tmp=mas[j-1];
					mas[j-1]=mas[j];
					mas[j]=tmp;
				}
			}
		}
	}
	for(i=0;i<size;i++){
		printf("%4d",mas[i]);
	}
}
Надеюсь поможет.
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 06.05.2009, 17:35   #3
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию

Мне только сортировка Шелла нужна.
Many man вне форума Ответить с цитированием
Старый 06.05.2009, 17:36   #4
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
Радость

В борландском компиляторе надо не
Код:
#include"fstream"
#include"iostream"
#include"string"
#include"iomanip"
а
Код:
#include<fstream>
#include<iostream>
#include<string>
#include<iomanip>
Может ошибка в этом...
Levsha100 вне форума Ответить с цитированием
Старый 06.05.2009, 17:49   #5
Many man
Пользователь
 
Регистрация: 25.11.2008
Сообщений: 83
По умолчанию

Нет у меня Microsoft Visual studio 2008
Many man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите каким Компилятором пользоваться для Си Tik-Tik Общие вопросы C/C++ 1 07.02.2009 05:56
Как пользоваться компилятором С++ Builder v 5.5 Всеслав C++ Builder 8 04.01.2009 20:11
проблемы с IE xakzona Помощь студентам 1 16.12.2008 21:53
Ступор с компилятором Алукард Интеграл Общие вопросы C/C++ 1 11.11.2008 17:33
Проблема с компилятором, а может и не с ним :( D_bl_M Общие вопросы C/C++ 15 08.11.2007 11:43