Решения задач acmp.ru
Главная
Вход
Регистрация
Четверг, 01.10.2020, 05:40Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Pascal [121]
C++ [76]

Поиск

Мини-чат
200

Легкий заработок!

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Главная » Файлы » C++

0007 Золото племени АББА

Скачать файл можно после просмотра рекламы:

05.06.2012, 02:12
#include <stdio.h>
#include <memory.h>

struct arrInt
{
       unsigned int length;
       char * data;
       arrInt();
       void ReadFromFile(FILE*);
       void WriteToFile(FILE*);
};

arrInt::arrInt()
{
     data = NULL;
     length = 0;
}

bool operator > (arrInt &c1, arrInt &c2)
{
if (c1.length > c2.length) return true;
if (c1.length < c2.length) return false;
if (c1.length == c2.length)
{
int i = 0;
while ((c1.data[i] == c2.data[i])&&(i<c1.length))
i++;
if (i == c1.length) return true;
else
if (c1.data[i] > c2.data[i]) return true;
else return false;
}
return false;
}

bool operator < (arrInt &c1, arrInt &c2)
{
if (c1.length < c2.length) return true;
if (c1.length > c2.length) return false;
if (c1.length == c2.length)
{
int i = 0;
while ((c1.data[i] == c2.data[i])&&(i<c1.length))
i++;
if (i == c1.length) return true;
else
if (c1.data[i] < c2.data[i]) return true;
else return false;
}
return false;
}

void arrInt::ReadFromFile(FILE * f)
{
data = new char [102];
length = 0;

do
{
fscanf(f, "%c", &data[length]);
length++;
} while ((data[length-1]>47)&&(data[length-1]<58));
length--;
}

void arrInt::WriteToFile(FILE * f)
{
    for (int  i = 0; i<length; i++)
        fprintf(f, "%c", data[i]);
}
 

int main()
{
    FILE * f = fopen("input.txt", "r");
    
    arrInt i1, i2, i3;
    i1.ReadFromFile(f);
    i2.ReadFromFile(f);
    i3.ReadFromFile(f);
    fclose(f);
    
    char res = 0;
    if ((i1>i2)&&(i1>i3)) res = 0;
    if ((i2>i3)&&(i2>i1)) res = 1;
    if ((i3>i2)&&(i3>i1)) res = 2;
    
    f = fopen("output.txt", "wt");
    switch (res)
    {
           case 0: i1.WriteToFile(f); break;
           case 1: i2.WriteToFile(f); break;
           case 2: i3.WriteToFile(f); break;
    }
    fclose(f);
    
    return 0;
}

Категория: C++ | Добавил: shum
Просмотров: 2284 | Загрузок: 0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Это интересно!


Copyright MyCorp © 2020