Скачиваний:
20
Добавлен:
05.04.2013
Размер:
3.79 Кб
Скачать
// SPPR.cpp : Defines the entry point for the console application.
//

//	-==Подключаемые файлы==-
#include "stdafx.h"
#include "stdio.h"
#include "malloc.h"
//	-====-

int main()
{
//	-==Список переменных==-
	FILE *fText;							// указатель на поток
	char problem[1000];						// ввод проблемы
	char *pArr_Alt;							// массив альтернатив
	char *pArr_Exp;							// массив экспертов
	int i, j, k;							// индексы
	int nAlter;								// число альтернатив
	int nExp;								// число экспертов
	int pArr_Rate[100];						// массив оценок
	int buff;								// буфер
	int index;								// буфер для индекса
	int Summ_Range[100];					// суммарная оценка альтернативы
	int buff_array[100];					// буффер для массива оценок альтернатив
//	-====-	

//	-==Создание файла для записи==-
	if ((fText = fopen("sppr_data.txt", "w+t")) == NULL)
	{
		perror("\nFILE NOT OPENED!\n");
		return -1;
	}
//	-====-

//	-==Ввод проблемы==-
	printf("Enter your problem (without space): \n");
	scanf("%s", &problem);
	for (i = 0; i < 1000; i++)
		if (problem[i] == '_')
			problem[i] = ' ' ;
	fprintf(fText, "PROBLEM: -=%s=-\n", &problem); 
	fprintf(fText, "======================================\n", &problem);
//	-====-
		
//		-==Ввод альтернатив==-
	printf("Enter number alternatives: ");
	scanf("%d", &nAlter);
	fprintf(fText, "Entering %d alternatives\n======================================\n", nAlter);
	pArr_Alt = (char*)malloc(nAlter);
	for (i = 0;i < nAlter; i++)
	{
			Summ_Range[i] = 0;
			printf("\tEnter %d alternative (without space): \n\t", i);
			scanf("%s", &pArr_Alt[i]);
			fprintf(fText, "\t%d alternative: %s\n\t==============================\n", i, &pArr_Alt[i]);
	}
//		-====-

//		-==Определение количества экспертов==-
	printf("Enter number of experts: ");
	scanf("%d", &nExp);
	fprintf(fText, "Entering %d experts\n======================================\n", nExp);
	pArr_Exp = (char*)malloc(nExp);
//		-====-
//	-====-
	printf("\nRANGE ALTERNATIVES METHOD\n");
	fprintf(fText, "\nRANGE ALTERNATIVES METHOD\n");
//	-====-
	printf("Evaluate every alternative ball, from 0 to 9!\n");
	

//		-==Оценивание экспертами альтернатив==-	
	for (j = 0; j < nExp; j++)
	{
		printf("%d expert: \n", j);
		fprintf(fText, "\n======================================\n");
		fprintf(fText, "%d expert evaluating like this: \n======================================\n", j);
		for(i=0; i<nAlter;i++)
		{
			printf("\tEnter ball for %d alternative: \n\t", i);
			scanf("%d", &pArr_Rate[i]);
			fprintf(fText, "\t%d alternative ball value = %d\n", i, pArr_Rate[i]);			
		}
//		-====-

//		-==Строгое ранжирование альтернатив с помощью сортировки, методом прямого выбора==-
		for(i=0; i<nAlter;i++)							
		{
			index = i;
			buff = pArr_Rate[index];
			buff_array[i] = 0;
//			-==Упорядочение альтернатив==-
			for (k = i+1; k < nAlter; k++)
			{
				if (pArr_Rate[k] <= buff)
					;
				else
				{
					index = k;
					buff = pArr_Rate[index];
					pArr_Rate[index] = pArr_Rate[i];
					pArr_Rate[i] = buff;					
				}
			}
			buff_array[i] = buff;
			Summ_Range[i] += buff_array[i];
//			-====-
			printf(" ======================================\n\tRanged %d alternative rang is: %d\n", i, pArr_Rate[i]);
			fprintf(fText, "====================================== \n\tRanged %d alternative rang is: %d\n", i, pArr_Rate[i]);	
			fprintf(fText, "======================================\n");
		}	
	}
	for (i=0; i<nAlter;i++)
	{
		printf(" ======================================\n\tsummary %d alternative rang is: %d\n", i, Summ_Range[i]);
		fprintf(fText, "====================================== \n\tSummary %d alternative rang is: %d\n", i, Summ_Range[i]);
	}
//	-====-
	return 0;
}
//	-====-
Соседние файлы в папке HW_SPPR_VAR5
  • #
    05.04.20133.79 Кб20HW_SPPR_VAR5.cpp
  • #
    05.04.20134.61 Кб20HW_SPPR_VAR5.dsp
  • #
    05.04.2013549 б20HW_SPPR_VAR5.dsw
  • #
    05.04.201333.79 Кб20HW_SPPR_VAR5.ncb
  • #
    05.04.201348.64 Кб21HW_SPPR_VAR5.opt
  • #
    05.04.20131.24 Кб21ReadMe.txt