Отчёт (1080986)
Текст из файла
Московский государственный технический
университет им. Н.Э. Баумана.
Факультет «Информатика и управление»
Кафедра ИУ5. Курс «Основы информатики»
Отчет по домашнему заданию.
| Выполнил: | Проверил: | |
| студент группы ИУ5-14 | преподаватель каф. ИУ5 | |
| Шевченко Роман | Папшев И.С. | |
| Подпись и дата: | Подпись и дата: |
г. Москва, 2008 г.
Постановка задачи
Слова текста из малых латинских букв записаны не менее чем через один пробел; текст оканчивается точкой. БЕЗ ИСПОЛЬЗОВАНИЯ конструкции STRING:
а) написать программу ввода такого текста с клавиатуры;
б) заменить на xxx каждое слово из 5 букв, имеющее в середине букву z.
Разработка алгоритма
Для хранения предложения используется динамический массив слов, и при этом буквы каждого слова храним в динамическом массиве. При преобразовании текста мы находим все слова в которых 5 букв и если в центре слова стоит z 3 первые буквы заменяем на х, а четвёртую на пробел.
Описание входных, выходных и вспомогательных данных:
Выходные-выходные данные:
char **tekst – предложение введённое с клавиатуры(палее преобразованное и выведенное);
Вспомагательные данные:
char q= '0' – используется в сравнениях;
int ctrok= 100 – кол-во слов в предложении;
int bukv= 100 – кол-во вукв в каждом слове;
Текст программы.
#include <iostream>
using namespace std;
int main(){
setlocale(0, "russian");
cout <<"Введите слова текста из малых латинских букв не менее чем через один пробел\n";
char **tekst, q= '0';
int ctrok= 100, bukv= 100;
cin.unsetf(ios::skipws);
//---------------------------------Создание массива строк(такста)--------------------------------------- try{
tekst= new char * [ctrok];
}catch(bad_alloc xa){
cout <<"Ошибка.\n";
system("Pause");
return 1;
}
for(int i= 0; (i < ctrok) && (q != '.'); i++){
try{
tekst[i]= new char [bukv];
}catch(bad_alloc xa){
cout <<"Ошибка.\n";
system("Pause");
return 1;
}
q= '0';
for(int j= 0; (i < bukv) && (q != ' ') && (q != '.'); j++){
cin >>q;
while((((int)q<97) || ((int)q>122)) && (((int)q!=10) && ((int)q!=32) && ((int)q!=46))){
cout <<"\nОшибка в букве. Записан текст:\n";
for(int k= 0; k <= i; k++){
q= '0';
for(int m= 0; (q != ' ') && ((k != i) || (m != j)); m++){
q= tekst[k][m];
cout <<tekst[k][m];
}
}
cout <<"\nВведите оставшуюся часть предложения заново.\n";
for(; q != '.';)cin >>q;
cin >>q; cin >>q;
}
tekst[i][j]= q;
}
}
cout <<"\n\n";
//----------------------------------Преобразование------------------------------------------------------
q= '0';
for(int i= 0; q != '.'; i++){
q= '0';
int j;
for(j= 0; (q != ' ') && (q != '.'); j++) q= tekst[i][j];
if(j == 6){
q= tekst[i][2];
if(q == 'z'){
tekst[i][2]= tekst[i][1]= tekst[i][0]= 'x';
tekst[i][3]= tekst[i][5];
}
q= tekst[i][3];
}
}
cout <<"\n\n";
//------------------------------------Вывод текста-------------------------------------------------------
q= '0';
for(int i= 0; q != '.'; i++){
q= '0';
for(int j= 0; (q != ' ') && (q != '.'); j++){
q= tekst[i][j];
cout <<tekst[i][j];
}
}
cout <<"\n\n";
//-------------------------------------The End----------------------------------------------------------- system("Pause");
for(int i= 0; (i < ctrok) && (q != '.'); i++){
delete [] tekst[i];
}
delete [] tekst;
return 0;
}
Анализ результатов
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.















