Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Цель лабораторной работы: изучение структурной организации, способов доступа к элементам и других особенностей текстовых файлов; изучение стандартных средств языка C/C++ для работы со строками и текстовыми файлами; совершенствование навыков структурного программирования на языке C/С++ при решении задач редактирования текстовых файлов.
Задание на программирование:
Создать исходный текстовый фаил, внести в него введенные строки. Признак окончания ввода — пустая строка. Выделить из строк фаила слова - полиндромы и сохранить их в результирующем текстовом фаиле.
Схема алгоритма:
Текст программы:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <fstream.h>
#include <ctype.h>
const max=256;
int k;
unsigned char str[max];
unsigned char str2[max/2][max];
unsigned char str3[max] = "";
char filename[40];
char filenameo[40];
void down(unsigned char str[max]);
int videl(unsigned char str[max], unsigned char str2[max/2][max]);
void pol(int k,unsigned char str2[max/2][max]);
void comb(int k,unsigned char str[max], unsigned char str2[max/2][max]);
int createf();
void palindrom(unsigned char str[max], unsigned char str3[max]);
int makeout(unsigned char str3[max]);
void main()
{
clrscr();
createf();
makeout(str3);
cout << "\nSlova palindromi uspeshno wiwedeny w fail << " << filenameo << " >>";
getch();
}
int createf()
{
unsigned char string[40];
cout << "enter filename\n";
cin.getline(filename,40);
ofstream file(filename);
if(!file)
{
cout << "File could not be opened!!\n";
return -1;
}
cout << "Wwedite stroki\n\n";
while(1)
{
cin.getline(string,50);
if (!strcmp(string,"")) break;
file << string << endl;
}
file.close();
return 0;
}
int makeout(unsigned char str3[max])
{
int i;
unsigned char string[max];
unsigned char string2[max];
cout << "enter output filename\n";
cin.getline(filenameo,40);
ofstream file_out(filenameo);
ifstream file(filename);
if(!file)
{
cout << "File could not be opened!!\n";
return -1;
}
while(1)
{
for(i=1;!file.eof(); i++)
{
file.getline(str, max);
palindrom(str,str3);
file_out << str3<< endl;
}
if (file.eof()) break;
}
return 0;
}
void palindrom(unsigned char str[max],unsigned char str3[max])
{
::str3[0]='\0';
down(str);
k = videl(str,str2);
pol(k,str2);
comb(k,str3,str2);
}
int videl(unsigned char str[max], unsigned char str2[max/2][max])
{
int i=0,j=0;
while(str[i])
{
int k=0;
while(str[i] == ' ') i++;
while(str[i] != ' ' && str[i])
{
str2[j][k] = str[i];
k++;
i++;
}
str2[j][k] = '\0';
j++;
}
return j;
}
void down(unsigned char str[max])
{
int i=0;
while(str[i])
{
if (str[i]=='.') str[i]=' ';
str[i]=tolower(str[i]);
i++;
}
}
void pol(int k,unsigned char str2[max/2][max])
{
int j,i=0;
while(i < k-1)
{
int len;
int j=0;
len = strlen(str2[i]);
while(j < len)
{
if (str2[i][j] != str2[i][len-j-1])
{
str2[i][j] = ' ';
str2[i][len-j-1] = ' ';
}
j++;
}
i++; }}
void comb(int k,unsigned char str3[max], unsigned char str2[max/2][max])
{
int i=0;
while(i<k-1)
{
int k=1;
int len,j=0;
len = strlen(str2[i]);
while (j<len-1)
{
if (str2[i][j] == ' ') k=0;
j++;
}
if (k == 1)
{
strcat(str3,str2[i]);
strcat(str3," ");
}
i++;
}
}
Скриншот работы программы:
Содержание фаилов 1.txt и 2.txt
1.txt
qwerty.
qwq.
asdfdsa asd asdsa.
qwewq.
qwertrewq.
2.txt
qwq
asdfdsa asdsa
qwewq
qwertrewq
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.