Added main.cpp and Task_1..5.cpp
This commit is contained in:
commit
5b03d9cea5
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
Âûäåëèòü â ïàìÿòè äèíàìè÷åñêèé îäíîìåðíûé ìàññèâ òèïà int. Ðàçìåð ìàññèâà
|
||||
çàïðîñèòü ó ïîëüçîâàòåëÿ. Èíèöèàëèçèðîâàòü åãî ÷èñëàìè ñòåïåíÿìè äâîéêè:
|
||||
1, 2, 4, 8, 16, 32, 64, 128 … Âûâåñòè ìàññèâ íà ýêðàí. Íå çàáûòü îñâîáîäèòü
|
||||
ïàìÿòü. =) Ðàçáèòü ïðîãðàììó íà ôóíêöèè.
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
|
||||
void PrintArray(int*, const size_t, std::string s = "");
|
||||
void FillArrayByTwoPowers(int*, const size_t);
|
||||
|
||||
int Task_1()
|
||||
{
|
||||
std::cout << "\t\tTask #1" << std::endl;
|
||||
size_t n = 0;
|
||||
std::cout << "Enter array size: ";
|
||||
std::cin >> n;
|
||||
int* aInts = new (std::nothrow) int[n];
|
||||
|
||||
if (aInts != nullptr && n > 0)
|
||||
{
|
||||
std::cout << "Memory allocation is successful." << std::endl;
|
||||
FillArrayByTwoPowers(aInts, n);
|
||||
PrintArray(aInts, n);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "Something wrong with memory allocation in Task #1.\n";
|
||||
return -1;
|
||||
}
|
||||
|
||||
std::cout << "Allocated memory deletion ...\n";
|
||||
delete[] aInts;
|
||||
|
||||
std::cout << "________________________________________________\n\n";
|
||||
system("pause");
|
||||
system("cls");
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
Äèíàìè÷åñêè âûäåëèòü ìàòðèöó 4õ4 òèïà int. Èíèöèàëèçèðîâàòü åå ïñåâäîñëó÷àéíûìè
|
||||
÷èñëàìè ÷åðåç ôóíêöèþ rand. Âûâåñòè íà ýêðàí. Ðàçáåéòå âàøó ïðîãðàììó íà
|
||||
ôóíêöèè êîòîðûå âûçûâàþòñÿ èç main.
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
|
||||
void PrintArray(int**, const size_t);
|
||||
void FillRandArray(int**, const size_t);
|
||||
|
||||
int Task_2()
|
||||
{
|
||||
std::cout << "\t\tTask #2" << std::endl;
|
||||
|
||||
const size_t SIZE = 4U;
|
||||
int** aaInts = new (std::nothrow) int* [SIZE];
|
||||
if (aaInts != nullptr && SIZE > 0)
|
||||
{
|
||||
for (size_t i = 0; i < SIZE; i++)
|
||||
{
|
||||
aaInts[i] = new int[SIZE];
|
||||
if (aaInts[i] == nullptr)
|
||||
{
|
||||
std::cerr << "Something wrong with memory allocation in Task #2.\n";
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
std::cout << "Memory allocation is successful." << std::endl;
|
||||
FillRandArray(aaInts, SIZE);
|
||||
PrintArray(aaInts, SIZE);
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cerr << "Something wrong with memory allocation in Task #2.\n";
|
||||
return -1;
|
||||
}
|
||||
|
||||
std::cout << "Allocated memory deletion ...\n";
|
||||
for (size_t i = 0; i < SIZE; i++)
|
||||
{
|
||||
delete[] aaInts[i];
|
||||
}
|
||||
delete[] aaInts;
|
||||
|
||||
std::cout << "________________________________________________\n\n";
|
||||
system("pause");
|
||||
system("cls");
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
Íàïèñàòü ïðîãðàììó, êîòîðàÿ ñîçäàñò äâà òåêñòîâûõ ôàéëà (*.txt), ïðèìåðíî
|
||||
ïî 50-100 ñèìâîëîâ â êàæäîì (îñîáîãî çíà÷åíèÿ íå èìååò ñ êàêèì èìåííî ñîäåðæèìûì).
|
||||
Èìåíà ôàéëîâ çàïðîñèòü ó ïîëüëçîâàòåëÿ.
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
|
||||
int FillFileBySmth(std::string);
|
||||
|
||||
int Task_3()
|
||||
{
|
||||
std::cout << "\t\tTask #3" << std::endl;
|
||||
|
||||
std::string filename_1;
|
||||
std::string filename_2;
|
||||
int result = 0;
|
||||
|
||||
std::cout << "Enter name of the 1st text file without extension:\n";
|
||||
std::cin >> filename_1;
|
||||
std::cout << "Enter name of the 2nd text file without extension:\n";
|
||||
std::cin >> filename_2;
|
||||
|
||||
filename_1 += ".txt";
|
||||
filename_2 += ".txt";
|
||||
|
||||
result = FillFileBySmth(filename_1);
|
||||
if (result != 0)
|
||||
{
|
||||
std::cerr << "Something wrong with file creation in Task #3." << std::endl;
|
||||
return result;
|
||||
}
|
||||
result = FillFileBySmth(filename_2);
|
||||
|
||||
std::cout << "________________________________________________\n\n";
|
||||
system("pause");
|
||||
system("cls");
|
||||
return result;
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
* Íàïèñàòü ôóíêöèþ, «ñêëåèâàþùóþ» ýòè ôàéëû â òðåòèé òåêñòîâûé ôàéë (èìÿ ôàéëîâ
|
||||
ñïðîñèòü ó ïîëüçîâàòåëÿ).
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
|
||||
int GlueTwoFilesInThird(std::string, std::string, std::string);
|
||||
|
||||
int Task_4()
|
||||
{
|
||||
std::cout << "\t\tTask #4" << std::endl;
|
||||
|
||||
int result = 0;
|
||||
std::string filename_1;
|
||||
std::string filename_2;
|
||||
std::string filename_3;
|
||||
|
||||
std::cout << "Enter name of the 1st file without extension:\n";
|
||||
std::cin >> filename_1;
|
||||
std::cout << "Enter name of the 2nd file without extension:\n";
|
||||
std::cin >> filename_2;
|
||||
std::cout << "Enter name of the 3rd glued file without extension:\n";
|
||||
std::cin >> filename_3;
|
||||
|
||||
filename_1 += ".txt";
|
||||
filename_2 += ".txt";
|
||||
filename_3 += ".txt";
|
||||
|
||||
result = GlueTwoFilesInThird(filename_1, filename_2, filename_3);
|
||||
if (result != 0)
|
||||
{
|
||||
std::cerr << "Files not found or not created.\n";
|
||||
return result;
|
||||
}
|
||||
|
||||
std::cout << "________________________________________________\n\n";
|
||||
system("pause");
|
||||
system("cls");
|
||||
return result;
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* Íàïèñàòü ïðîãðàììó, êîòîðàÿ ïðîâåðÿåò ïðèñóòñòâóåò ëè óêàçàííîå ïîëüçîâàòåëåì
|
||||
ïðè çàïóñêå ïðîãðàììû ñëîâî â óêàçàííîì ïîëüçîâàòåëåì ôàéëå (äëÿ ïðîñòîòû ðàáîòàåì
|
||||
òîëüêî ñ ëàòèíèöåé). Èñïîëüçóåì ôóíêöèþ find êîòîðàÿ åñòü â ñòðîêàõ std::string.
|
||||
*/
|
||||
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
const unsigned int MAX_SENTENTECE_SIZE = 100U;
|
||||
|
||||
int Task_5()
|
||||
{
|
||||
std::cout << "\t\tTask #5" << std::endl;
|
||||
|
||||
int result = 0;
|
||||
std::string filename = "";
|
||||
std::string word_to_find = "";
|
||||
std::string s1 = "";
|
||||
|
||||
std::cout << "Enter file name where you want to find your word (without extension):\n";
|
||||
std::cin >> filename;
|
||||
filename += ".txt";
|
||||
|
||||
std::ifstream in_file(filename);
|
||||
if (!in_file)
|
||||
{
|
||||
std::cerr << "File is not open! Check file existance!\n";
|
||||
return -3;
|
||||
}
|
||||
|
||||
std::cout << "Enter the word to find in this file: ";
|
||||
std::cin >> word_to_find;
|
||||
bool word_is_found = false;
|
||||
|
||||
while (!in_file.eof() || word_is_found != false)
|
||||
{
|
||||
char tmp[MAX_SENTENTECE_SIZE + 1] = {};
|
||||
in_file.getline(tmp, MAX_SENTENTECE_SIZE, ' ');
|
||||
s1 += tmp;
|
||||
s1 += ' ';
|
||||
}
|
||||
if (s1.find(word_to_find) != std::string::npos)
|
||||
{
|
||||
word_is_found = true;
|
||||
}
|
||||
|
||||
if (word_is_found)
|
||||
{
|
||||
std::cout << "Word was found!\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Word was not found!\n";
|
||||
}
|
||||
|
||||
std::cout << "________________________________________________\n\n";
|
||||
system("pause");
|
||||
system("cls");
|
||||
return result;
|
||||
}
|
|
@ -0,0 +1,149 @@
|
|||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
const unsigned int MAX_SENTENTECE_SIZE = 100U;
|
||||
|
||||
int Task_1();
|
||||
int Task_2();
|
||||
int Task_3();
|
||||
int Task_4();
|
||||
int Task_5();
|
||||
|
||||
int main()
|
||||
{
|
||||
int result = 0;
|
||||
|
||||
result = Task_1();
|
||||
if (result != 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
result = Task_2();
|
||||
if (result != 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
result = Task_3();
|
||||
if (result != 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
result = Task_4();
|
||||
if (result != 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
result = Task_5();
|
||||
if (result != 0)
|
||||
{
|
||||
return result;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void PrintArray(int* pArr, const size_t count, std::string s)
|
||||
{
|
||||
std::cout << s;
|
||||
for (size_t i = 0U; i < count; i++)
|
||||
{
|
||||
std::cout << "Array[" << i << "] = " << pArr[i] << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void PrintArray(int** pArr, const size_t count)
|
||||
{
|
||||
for (size_t i = 0U; i < count; i++)
|
||||
{
|
||||
for (size_t j = 0U; j < count; j++)
|
||||
{
|
||||
std::cout << "\t" << pArr[i][j];
|
||||
}
|
||||
std::cout << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void FillArrayByTwoPowers(int* pArr, const size_t count)
|
||||
{
|
||||
pArr[0U] = 1;
|
||||
for (size_t i = 1U; i < count; i++)
|
||||
{
|
||||
pArr[i] = pArr[i - 1U] << 1;
|
||||
}
|
||||
}
|
||||
|
||||
void FillRandArray(int** ppArr, const size_t count)
|
||||
{
|
||||
for (size_t i = 0U; i < count; i++)
|
||||
{
|
||||
for (size_t j = 0U; j < count; j++)
|
||||
{
|
||||
ppArr[i][j] = rand();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int FillFileBySmth(std::string filename)
|
||||
{
|
||||
std::string s = "This is a small text with little quantity of symbols created in Microsoft Visual Studio.\n";
|
||||
std::ofstream outfile(filename);
|
||||
|
||||
if (!outfile)
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
|
||||
std::cout << "File \"" << filename << "\" is open successfully.\n";
|
||||
|
||||
outfile << s;
|
||||
|
||||
outfile.close();
|
||||
return 0;
|
||||
}
|
||||
|
||||
int GlueTwoFilesInThird(std::string filename_1, std::string filename_2, std::string outfilename)
|
||||
{
|
||||
std::string s1 = "";
|
||||
std::string s2 = "";
|
||||
std::ifstream in_file_1(filename_1);
|
||||
std::ifstream in_file_2(filename_2);
|
||||
|
||||
if (!in_file_1 || !in_file_2)
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
std::cout << "Files \"" << filename_1 << "\" and \"" << filename_2 << "\" are succesfully open.\n";
|
||||
|
||||
while (!in_file_1.eof())
|
||||
{
|
||||
char tmp[MAX_SENTENTECE_SIZE + 1] = {};
|
||||
in_file_1.getline(tmp, MAX_SENTENTECE_SIZE, '\n');
|
||||
s1 += tmp;
|
||||
s1 += "\n";
|
||||
}
|
||||
while (!in_file_2.eof())
|
||||
{
|
||||
char tmp[MAX_SENTENTECE_SIZE + 1] = {};
|
||||
in_file_2.getline(tmp, MAX_SENTENTECE_SIZE, '\n');
|
||||
s2 += tmp;
|
||||
s2 += "\n";
|
||||
}
|
||||
|
||||
in_file_1.close();
|
||||
in_file_2.close();
|
||||
std::cout << "Files \"" << filename_1 << "\" and \"" << filename_2 << "\" are closed.\n";
|
||||
|
||||
std::ofstream out_file(outfilename);
|
||||
if (!out_file)
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
std::cout << "File \"" << outfilename << "\" is successfully open.\n";
|
||||
|
||||
out_file << s1 + s2;
|
||||
out_file.close();
|
||||
std::cout << "File \"" << outfilename << "\" is closed.\n";
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue