- •Задание на курсовую работу
- •Содержание
- •Линейные алгоритмы.
- •Задача 1
- •1. Вычислить выражения по предложенным формулам.
- •Условный алгоритм, цикл
- •Задача 2
- •1. Протабулировать кусочную функцию f на интервале Xs до Xf с шагом dx, где a,b,c ,Xs,Xf,dx –действительные числа.
- •If (условие) оператор_1; else оператор_2;
- •If (условие) { оператор_1; оператор_2; … }
- •Массивы
- •Задача 4
- •2. Упорядочить элементы массива по возрастанию. Код программы:
- •Задача 4 Двумерные массивы:
- •1)Характеристикой столбца целочисленной матрици назовём сумму модулей его отрицательных нечётных элементов
- •2)Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент.
- •Список использованных источников
Задача 4 Двумерные массивы:
Определить:
Характеристикой столбца целочисленной матрицы назовем сумму его отрицательных
нечетных элементов. Переставляя столбцы заданной матрицы расположить их в соответствии с
ростом характеристик.
Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент
Код программы:
#include <iostream>
using namespace std;
void main(){
int a[8][8] = { { 1, 2, 3, 4, 5, 6, },
{ -2, -2, 2, 0, 0, -6 },
{ -9, 2, 1, 2, 0, 9, },
{ -4, 0, 2, 3, 1, 5, },
{ 5, 2, 3, 1, 5, 9, },
{ 6, 2, 3, 5, -3, 6, }};
cout << "Наша матрица_\n ";
for (int i = 0; i < 6; i++)
{ cout << "\n";
for (int j = 0; j < 6; j++)
{cout << a[i][j] << "\t ";
}
}
1)Характеристикой столбца целочисленной матрици назовём сумму модулей его отрицательных нечётных элементов
cout << "\n";
int sum = 0;
int b[10];
for (int i = 0; i < 6; i++)
{ sum = 0;
for (int j = 0; j < 6; j++)
{ if (a[j][i]<0)
{sum = sum + a[j][i]; }
if (j == 5)
{b[i] = sum;}
}
}
cout << "\n= ";
for (int i = 0; i < 6; i++)
{cout << b[i] << " \t"; }
cout << "\n ";
int c[10];
int p = 0;
for (int i = 0; i < 6; i++)
{for (int j = 0; j < 5; j++)
{if (abs(b[j])> abs(b[j + 1]))
{p = b[j];
b[j] = b[j + 1];
b[j + 1] = p;
for (int x = 0; x < 6; x++)
{c[x] = 0;}
for (int x = 0; x < 6; x++)
{c[x] = a[x][j];}
for (int x = 0; x < 6; x++)
{a[x][j] = a[x][j+1];}
for (int x = 0; x < 6; x++)
{a[x][j+1] = c[x];}
}
}
}
for (int i = 0; i < 6; i++)
{cout << "\n";
for (int j = 0; j < 6; j++)
{cout << a[i][j] << "\t";}
}
cout << "\n\n= ";
for (int i = 0; i < 6; i++)
{cout << b[i] << " \t"; }
2)Найти сумму элементов в тех столбцах, которые содержат хотя бы один отрицательный элемент.
cout << "\nCумма элементов в тех Столбцах, ";
cout << "\nкоторые содержат хотя бы один отрицательный элемент= \n";
for (int i = 0; i < 6; i++)
{for (int j = 0; j < 6; j++)
{ sum = 0;
if (a[j][i]<0)
{for (int k = 0; k < 6; k++)
{sum = sum + a[k][i]; }
cout << "Cтолбца " << i +1 << " = " << sum << endl;
break;}}}
cout << "\n";
system("pause");
return;
}
Функции
Функция - это модуль в с++. Функции в языке си позволяют создавать модульные программы, то есть программы состоящие из модулей. Для написания программ, лучше использовать готовые стандартные функции библиотеки c++. Если же вы хотите в программе использовать свою функцию, то необходимо объявить прототип функции, после этого в конце программы написать реализацию функции.
Функция может принимать значения или не принимать вообще. Если функция не принимает параметры, то пишется имя функции и пустые скобки, если функция принимает параметры, то в скобках через запятую пишутся параметры. Функция может принимать параметры такие, как: массив, указатель, ссылку, целочисленные переменные, дробные и т. д.
Задача №5
Даны действительные числа s,t. Получить h(s,t)+max(h*h(s-t,s*t),h*h*h*h(s-t,s+t))+h(1,1), где
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
double h(double a, double b) {
return (a/(1+b*b))+(b/(1+a*a))-pow((a-b),3);
}
double max (double a, double b) {
if (a > b) return a;
return b;
}
void main () {
double s,t;
cout << "Enter s, t" << endl;
cin >> s >> t;
cout << endl << "h(s,t)= " << h(s,t) + max(pow(h(s-t,s*t), 2), pow(h(s-t, s+t),4)) + h(1,1);
getch();
}