- •Содержание:
- •Введение.
- •Задача 1(№127)
- •Текст программы:
- •Задача 2(№133)
- •Текст программы:
- •Задача 3(№145)
- •Текст программы:
- •Задача 4(№161)
- •Текст программы:
- •Задача 5(№172)
- •Текст программы:
- •Задача 6(№177)
- •Текст программы:
- •Задача 7(№187)
- •Текст программы:
- •Текст программы:
- •Задача 9(№200)
- •Текст программы:
- •Список используемой литературы
Текст программы:
#include<iostream>
#include<conio.h>
#include<string>
#include <locale>
using namespace std;
int& max(int v[], int n)
{
int maxf=v[0], nmax=0;
for(int i=1; i<n; i++){
if(v[i]>maxf){
maxf=v[i];
nmax=i;
}
}
return v[nmax];
}
void swap(int& c, int& d) // меняет значение переменных c и d
{
int tmp=c;
c=d;
d=tmp;
}
int main ()
{
setlocale (LC_ALL, "Russian");
int nmax=0;
int i,j,b;
int sum=0;
int s[]={0, 4, -65, 35, 68, 50, 36, 4345, 57, -12, 43};
int n=sizeof(s)/sizeof(int);
j=0;
for(int i=0; i<n; i++)
cout<<s[i]<<", ";
cout<<"\n max="<<max(s, n);
for(i=0;i<n;i++)
{
sum=sum+s[i];
j++;
}
b=sum/j;
int& a=max(s, n); //ссылка на максимальный элемент
cout<<"\nПосле вызова функции: среднее значение ="<<b;
swap(a, b);
for(int i=0; i<n; i++)
cout<<s[i]<<", ";
getch();
return 0;
}
Задача 3(№145)
Постановка задачи: В текстовый файл построчно записаны целочисленные элементы квадратной матрицы размером 4*4. Прочитайте матрицу из файла в двумерный массив, вычеркните заданную строку и столбец, полученную матрицу 3*3 запишите в другой файл.
Алгоритм решения: определим точное число длин строк, числа строк на странице. Определим поток для входа и выхода. Дальше уюираем код из cin читаем массив, дальше вычеркиваем столбец и строку и записываем получившуюся матрицу в файл.
Текст программы:
#include <fstream>
#include <conio.h>
#include <string>
#include <stdlib.h>
#include <iostream>
using namespace std;
const int page=30; // макс число строк на странице
const int maxlen=200; // макс длина строки
const int lenname=15; // длина строки с именем файла
void main()
{
ifstream fin; // файловый поток для ввода
ofstream fout; // файловый поток для вывода
char filename[lenname]; // массив для имени файла
char line[maxlen]; // массив для строк
cout<< "\nBvedite name vhodnogo faila";
cin>> filename;
fin.open(filename);
if(!fin){ // если не удалось открыть входной файл
cerr << "Ne ydalos open fail" << filename;
exit(1);
}
cout << "\n Bvedite name vihodnogo faila";
cin>>filename;
fout.open(filename);
if(!fout){ // если не удалось открыть выходной файл
cerr<< "Ne ydalos open fail" << filename;
exit(1);
}
int i,j;
// cin.get(); // убираем код из sin
double s[4][4];
for (i=0;i<4;i++){
for(j=0;j<4;j++)
fin>>s[i][j];
}
cout << "Pro4itali massiv\n";
for(i=0;i<4;i++){
for(j=0;j<4;j++)
cout<<s[i][j]<<" ";
cout<<endl;
}
cout << "Vvedite # stroki i stolb4a dlya ydl iz matrici\n";
int row, col;
cin >> row >> col;
double d[3][3];
int id=0, jd=0;
for (i=0;i<4;i++){ // цикл о строкам
if(i == row)
continue;
jd=0;
for(j=0;j<4;j++){ // цикл по столбцам
if(j == col)
continue;
d[id][jd]=s[i][j];
jd ++;
}
id++;
}
cout << "Matrica d\n";
for(i=0;i<3;i++){
for(j=0;j<3;j++)
cout<<d[i][j]<<" ";
cout<<endl;
}
// Записи матрицы 3х3 в файл.
for(i=0;i<3;i++){
for(j=0;j<3;j++)
fout<<d[i][j]<<" ";
fout<<endl;
}
fin.close(); // закрытие входного файла
fout.close(); // закрытие выходного файла
getch();
}