Написати програму, що зчитує текстовий файл, кожний рядок якого містить повне ім’я якогось текстового файлу із масивом чисел. Потрібно знайти мінімальне та максимальне значення в кожному із файлів чисел та видати ці значення на друк. Файли чисел містять в рядках по одному числу.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void main()
{
ifstream fmain;
fmain.open("names.txt");
while(!fmain.eof())
{
string s;
fmain>>s;
ifstream f;
f.open(s);
int max = -100;
int min = 100;
int x;
while(!f.eof())
{
f>>x;
if(x>max)
max=x;
if(x<min)
min=x;
}
f.close();
cout<<"max="<<max;
cout<<"min="<<min;
}
fmain.close();
}
Задача № 3 з програмування
Написати програму, що зчитує два файли векторів чисел. У файлах 1-й рядок задає число елементів вектора, а в кожному наступному рядку – по одному числу компонента вектора. Програма зчитавши файли будує і виводить скалярний добуток векторів, якщо їх розмірності співпадають.
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
ifstream f1;
ifstream f2;
f1.open("1.txt");
f2.open("2.txt");
|
|
int n1,n2;
int x1,x2;
f1>>n1;
f2>>n2;
if(n1!=n2)
return;
int res = 0;
while(!f1.eof())
{
f1>>x1;
f2>>x2;
res+=x1*x2;
}
cout<<res;
}
Задача № 4 з програмування
Написати програму, що зчитує текстовий файл, в якому 1-й рядок містить значення обмеження числа рядків у кожному із файлів, імена яких йдуть з 2-го рядка (по одному імені файлу у рядку). Програма має вивести перелік файлів, які мають більше вказаного числа рядків.
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void main()
{
ifstream fmain;
fmain.open("names.txt");
int line_max;
fmain>>line_max;
while(!fmain.eof())
{
string s;
fmain>>s;
ifstream f;
f.open(s);
int k = 0;
string line;
while(!f.eof())
{
f>>line;
k++;
if(k>line_max)
{
cout<<s;
break;
}
}
f.close();
}
fmain.close();
}
Задача № 5 з програмування
Написати свій клас String роботи із символьними рядками. Мають бути методи: отримати розмір об’єкта класу, прописати об’єкт заданим символом, додати в кінець об’єкта заданий рядок.
#include<string.h>
#include<stdio.h>
class MyString
{
private:
char *str;
int length;
public:
MyString(char *);
MyString(MyString&);
~MyString();
int GetLength();
void print();
MyString operator+(MyString);
};
MyString::~MyString(){delete str;}
void MyString::print(){printf("%s",str);}
int MyString::GetLength(){return length;}
MyString::MyString(char *data){
length = strlen(data);
str = new char[length];
strcpy(str,data);
}
MyString::MyString(MyString &data){
length = strlen(data.str);
str = new char[length];
strcpy(str,data.str);
}
MyString MyString::operator+(MyString b){
length = strlen(str)+strlen(b.str);
char * temp = new char[length];
strcpy(temp,str);
strcat(temp,b.str);
delete str;
str = temp;
}