Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
172
Добавлен:
01.04.2014
Размер:
2.04 Кб
Скачать
//подключение библиотек
#include <winsock2.h>
#include <iostream.h>
#include <stdlib.h>
#include <process.h>

//главная фукнция программы
void main()
{
	//определение максимально возможной версии WinSock
	WORD wVersionRequested;
	
	// структура для хранения данных версии и др.
	WSADATA wsaData;
	
	//инициализация библиотеки
	int err;
	err = WSAStartup(wVersionRequested, &wsaData);
	
	//открытие сокета
	SOCKET s = socket (AF_INET, SOCK_DGRAM, 0);
	
	//структура адреса
	struct sockaddr_in ad;

	//порт ассоциации с сокетом
	ad.sin_port = htons (1024);

	//стандартное значение
	ad.sin_family = AF_INET;

	//IP адрес компьютера
	ad.sin_addr.s_addr = 0;
	bind (s, (struct sockaddr*) &ad, sizeof(ad));

	//импорт числа клиента
	char b[5];
	int l, chislo, mas[5];
	l = sizeof(ad);
	
	int rv = recvfrom(s, b, lstrlen(b), 0, (struct sockaddr*) &ad, &l);
	
	//преобразование из строки в число
	chislo = atoi(b);
	
	//вспомогательная переменная-делитель
	int devision = 10000;
	
	//преобразование числа в массив для сортировки
	for (int i=0; i<5; i++)
	{
		mas[i] = chislo/devision;
		chislo = chislo - mas[i]*devision;
		devision= devision/10;
		cout <<mas[i]<<" mas"<<endl;
	}
	
	int temp;
	// сортировка
	for (int pass = 1; pass<5; pass++)
		for (int i = 0; i<4; i++)
			if (mas[i]<mas[i+1])
			{
				temp = mas[i];
				mas[i] = mas[i+1];
				mas[i+1] = temp;
			}
			
			// вывод упорядоченного массива
			for (i = 0; i<5; i++)
				cout<<mas[i]<<"\t";
			cout<<endl;
			
			// преобразование массива в число
			devision = 10000;
			chislo = 0;
			for (i=0; i<5; i++)
			{
				chislo = chislo + mas[i]*devision;
				devision= devision/10;
			}
			cout<<chislo<<endl;
			/////////////////
			//преобразование числа в строку
			_itoa(chislo, b, 10);
			
			//передача строки клиенту
			sendto(s, b, lstrlen(b), 0, (struct sockaddr*) &ad, l);
			
			//закрытие сокета
			closesocket(s);

			//завершение работы с библиотекой
			WSACleanup();
}		



Соседние файлы в папке UPDserv
  • #
    01.04.20142.04 Кб172serv.cpp
  • #
    01.04.20144.33 Кб170UPDserv.dsp
  • #
    01.04.2014539 б170UPDserv.dsw
  • #
    01.04.201441.98 Кб170UPDserv.ncb
  • #
    01.04.201448.64 Кб170UPDserv.opt
  • #
    01.04.20141.45 Кб170UPDserv.plg