Отчет по лабораторной работе №15 по дисциплине "Программирование на языке высокого уровня" вариант №9




Скачать 52.69 Kb.
НазваниеОтчет по лабораторной работе №15 по дисциплине "Программирование на языке высокого уровня" вариант №9
Дата публикации09.04.2014
Размер52.69 Kb.
ТипОтчет
litcey.ru > Бухгалтерия > Отчет
Национальный исследовательский

Томский политехнический университет

Факультет АВТ

Кафедра ИПС

Динамические структуры данных

Отчет по лабораторной работе № 15

по дисциплине "Программирование на языке высокого уровня"

вариант № 9



Выполнил:


студент группы 8В83

Колчанов А.В.


Проверил:


преподаватель
Погребная Т.А.




Томск 2010

Условие задачи

Дан текстовый файл. Получить новый файл, содержащий слова, состоящие из четырех символов в алфавитном порядке. Вывести на экран и в файл.

Использовать односвязные списки, классы, конструкторы, входные и выходные файлы.

Алгоритм решения

  1. Создаем структуру списка, класс и определяем его методы.

  2. Считываем из файла слова и загружаем их в список.

  3. Выводим список на консоль и в файл, причем выводятся только слова, состоящие из 4-х букв и расположенные в алфавитном порядке.

Исходный файл


^ ABBA CAT PROGRAM BABY TOMSK BEER BEEP VITE DOG AUTO

Листинг



Файл list.h

#include "iostream"

#include "string.h"
using namespace std;

// данные

struct Element

{

string data;

Element *next; // указатель на следующий элемент списка

};
//класс и методы

class List

{

Element *pHead; // указатель на первый элемент списка

Element *pPrev; // указатель на последний элемент списка

int countElem; // количество элементов в списке

public:

List();

~List();
void addToList(string data);

void printList();

void printToFile(string filename);

void delAllList();

};

List::List()

{

pHead = NULL;

countElem = 0;

}

List::~List()

{

delAllList();

}

void List::printToFile(string filename)

{

ofstream file(filename);

Element *pTemp = pHead;

string d = pTemp->data;

while(pTemp != NULL)

{

if (pTemp->data.size()==4)

if (d.compare(pTemp->data)<0)

{

d=pTemp->data;

file<
}

pTemp = pTemp->next;

}
file.close();

}
//

void List::addToList(string data)

{

Element *temp = new Element;

if(pHead == NULL)

pHead = temp;

else

pPrev->next = temp;

temp->data = data;

temp->next = NULL;

pPrev = temp;

countElem++;

}
//

void List::printList()

{

Element *pTemp = pHead;

string d = pTemp->data;

while(pTemp != NULL)

{

if (pTemp->data.size()==4)

if (d.compare(pTemp->data)<0)

{

d=pTemp->data;

cout<
}

pTemp = pTemp->next;

}
}
//

void List::delAllList()

{

while(pHead != NULL)

{

Element *pTemp = pHead;

pHead = pHead->next;

delete pTemp;

}

}

Файл laba5.cpp

#include "stdafx.h"

#include "string"

#include "conio.h"

#include "fstream"

#include "list.h"
int _tmain(int argc, _TCHAR* argv[])

{

List lst;
ifstream data("D:\\data2.txt");//открываем файл
int count=0;//общее кол-во четырехбуквенных слов

string str;

while (!data.eof())

{

data>>str;

if (str.size()==4) count++;

}

data.close();

data.open("D:\\data2.txt");
//заполняем

int i=0;

while (!data.eof())

{

data>>str;

if (str.size()==4)

lst.addToList(str);

}

// Распечатываем содержимое списка

lst.printList();

lst.printToFile("D:\\aaa2.txt");
_getch();

return 0;

}

Результат работы программы

BABY

BEER

VITE

Вывод

Научились работать со списками и строками, повторили динамическую струтуру данных.


Похожие:

Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconДополнительное задание Отчет по лабораторной работе №16 по дисциплине...
Написать и протестировать функцию compress(), которая «сжимает» строку, удаляя из нее все пробелы
Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconОтчет по лабораторной работе №11 по дисциплине "Программирование...
Получить последовательность десятичных цифр числа n!, т е такую целочисленную последовательность, в которой каждый член di удовлетворяет...
Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconПояснительная записка к курсовой работе по курсу "Программирование на языке высокого уровня"
Программа ориентирована на широкий круг пользователей и позволяет ощутить восторг от перекладывания кубиков и их уничтожения
Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconАннотация рабочей программы учебной дисциплины
«Интеллектуальные системы» основана на взаимосвязи и преемственности с такими дисциплинами, как «Современные проблемы информатики...
Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconПрограмма для робота на языке Си
Очень часто микроконтроллеры avr используются в робототехники. Причиной этому является довольно низкая стоимость самого кристалла,...
Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconОтчет по лабораторной работе №2 «Исследование диодных схем» по дисциплине «Электроника»
Подготовиться к лабораторной работе, т е знать и понимать процессы, происходящие в исследуемых схемах
Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconПрограммирование на языке высокого уровня
Кодирование и исходная программа. Компиляция и объектная программа. Компоновка и исполняемая программа
Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconПрограммирование на языке высокого уровня
Запустить программу на компьютере, а затем проверить результаты по шагам при помощи отладчика. Если обнаружены ошибки, проанализировать...
Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconОтчет по лабораторной работе №3 по дисциплине методы оптимизации...
Найти точку минимума x* функции f(X) с точностью Ε=10-5 и минимальное значение f(x*). Начальное приближение выбрать на отрезке [a,b]....
Отчет по лабораторной работе №15 по дисциплине \"Программирование на языке высокого уровня\" вариант №9 iconАннотация рабочей программы учебной дисциплины
Информатика и вычислительная техника. Содержание дисциплины базируется на материале, изучаемом в дисциплинах «Информатика», «Математика»,...
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
litcey.ru
Главная страница