Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
печатай!!11!1.doc
Скачиваний:
9
Добавлен:
23.11.2019
Размер:
97.79 Кб
Скачать

Ifstream in("input.Txt");

ofstream out("output.txt");

in>>x;in>>y;

while (in>>value)

{

curIndex=l.getLength();

l.insertRight(curIndex,value);

}

In.Close();

for (int i=1;i<=l.getLength();i++)

{

if (l.get(i)==x)

{l.insertLeft(i,y);

l.remove(i+1);

}

}

for (int i=1;i<=l.getLength();i++)

out<<l.get(i)<<" ";

out.close();

l.~List();

return 0;

}

_________________________________input.txt_____________________________

7 0

7 7 1 3 7 5 2 5 7 2 7 9 3 7 7

_____________________________output.txt________________________________

0 0 1 3 0 5 2 5 0 2 0 9 3 0 0

1. Дан файл, компонентами которого являются целые числа. Создать на основе данных файла упорядоченную по убыванию структуру данных без использования какого-либо алгоритма сортировки.

Идея решения заключается в следующем. Берем из файла первое число, вставляем в двусвязный список. Далее в цикле считываем числа из файла и каждое число сравниваем по очереди с числами в списке. Как только в списке встретится число меньше данного, вставляем денное число слева от него. Если же мы дошли до конца списка, и все числа оказались больше данного, то данное число вставляем справа от последнего числа.

Int main()

{List <int> l;

int value,curIndex,i=1;

Ifstream in("input.Txt");

ofstream out("output.txt");

in>>value;

curIndex=l.getLength();

l.insertRight(curIndex,value);

int k=1;

while (in>>value)

{

for (i=1;((i<k)&&(l.get(i)>value));i++);

if (i==k&&l.get(i)>value) l.insertRight(i,value);

else

l.insertLeft(i,value);

k++;

}

In.Close();

for (int i=1;i<=l.getLength();i++)

out<<l.get(i)<<" ";

out.close();

l.~List();

return 0;

}

_____________________________input.txt_________________________________

11 1 7 3 0 1 45 8 5 67 5 9 5 8 1 1 1 34

_____________________________output.txt________________________________

67 45 34 11 9 8 8 7 5 5 5 3 1 1 1 1 1 0