Новые информационные технологии, 2 курс физического факультета




Список практических заданий к экзамену по курсу

1. Напишите программу, которая по известной начальной скорости и времени полета тела определяет угол, под которым тело брошено по отношению к горизонту.

2. Напишите программу, которая для тела, брошенного под углом к горизонту с начальной скоростью, рассчитывает дальность полета тела.

3. Напишите программу, которая по максимальной высоте подъема и дальности полета определяет начальную скорость тела и угол.

4. Напишите программу, которая по введенным координатам трех точек на плоскости, определяет стороны треугольника, если точки не образуют треугольник – выдает об этом сообщение.

5. Напишите программу, которая по введенным координатам трех точек на плоскости, определяет площадь и периметр треугольника, если точки не образуют треугольник – выдает об этом сообщение.

6. Напишите программу, которая по введенным координатам трех точек на плоскости, определяет углы треугольника, если точки не образуют треугольник – выдает об этом сообщение.

7. Написать программу для вычисления ускорения свободного падения как функции высоты над поверхностью Земли на основании значения гравитационной постоянной, масса Земли кг и ее радиуса м.

8. Написать программу для вычисления кинетической энергии релятивистского электрона. Сравнить с нерелятивистским выражением.

9. Написать программу для вычисления числа распавшихся ядер. Предусмотреть возможность вычисления как в абсолютных единицах, так и в процентом отношении к начальному числу ядер.

10. Написать программу для вычисления косинуса, аргумент вводится пользователем с клавиатуры, а граница ряда определяется как константа.

11. Написать программу для вычисления косинуса, аргумент вводится пользователем с клавиатуры, вычисления проводить до тех пор, пока текущий член ряда не станет меньше заданной пользователем точности.

12. Написать программу для вычисления экспоненты, аргумент вводится пользователем с клавиатуры, вычисления проводить до тех пор, пока текущий член ряда не станет меньше заданной пользователем точности.

 

13. Написать программу для вычисления ряда

Аргумент вводится пользователем с клавиатуры, граница ряда вводится с клавиатуры.

14. Написать программу для вычисления ряда

Аргумент вводится пользователем с клавиатуры, граница ряда вводится с клавиатуры.

15. Написать программу для вычисления логарифма ln(1+x)

Аргумент вводится пользователем с клавиатуры, граница ряда вводится с клавиатуры.

16. Написать программу для вычисления факториала числа.

17. Написать программу для вычисления времени полета тела, брошенного под углом к горизонту.

18. Написать программу для решения квадратного уравнения. Параметры a, b, c вводятся пользователем. Использовать аналитические формулы для решений уравнения, при этом учесть различные варианты: например, а=0, отсутствие решений (комплексные корни).

19. Написать программу вычисления определителя матрицы 3х3.

20. Написать программу вычисления определителя матрицы 2х2.

21. Написать программу вычисления скалярного произведения двух векторов. Векторы реализуются в виде массивов, их названия передаются аргументами функции.

22. Написать программу с функцией для вычисления угла α между двумя векторами. Воспользоваться соотношением для скалярного произведения векторов. Аргументами функции являются названия массивов, в виде которых реализуются векторы.

23. Написать программу для нахождения максимального элемента массива, массив заполнить случайными числами.

24. Написать программу для нахождения минимального элемента массива, массив заполнить вводом чисел с клавиатуры.

25. Написать программу для нахождения максимального элемента массива, массив заполнить случайными числами, использовать динамическое выделение памяти для массива.

26. Написать программу для нахождения минимального элемента массива, массив заполнить вводом чисел с клавиатуры, использовать динамическое распределение памяти для массива.

27. Написать программу функцией для вычисления среднеквадратичного значения для элементов массива. Массив является аргументом функции.

28. Написать программу для вычисления параметров и линейной регрессионной модели (метод наименьших квадратов) для функции, значения массивов и.

29. Написать программу с функцией для решения методом Ньютона уравнения. Коэффициенты полинома являются аргументами функции.

30. Написать программу для вычисления среднего арифметического для элементов массива.

31. Напишите программу, которая определяет среднее арифметическое всех чисел отрезка [a,b].

29. Реализуйте функцию, которая по заданным катетам прямоугольного треугольника находит длину его гипотенузы.

30. Реализуйте функцию, которая по заданным координатам двух точек будет находить расстояние между ними.

31. Напишите программу, которая будет удалять из числа рядом стоящие цифры, если их сумма равна заданному пользователем числу.

32. Напишите программу, которая отсортирует массив целых чисел по возрастанию пузырьковым методом.

33. Напишите программу, которая отсортирует массив целых чисел по убыванию методом выбора.

34. Напишите программу, которая отсортирует массив целых чисел по возрастанию между максимальным и минимальным значениями массива.

35. Напишите программу, которая определит и выведет на экран сумму элементов главной и побочной диагонали квадратной матрицы.

36. Дан массив N целых элементов. Определить количество четных чисел на отрезке, заключенном между максимальным и минимальным элементами массива.

37. В массиве, заполненном случайными числами, выполнить поиск заданного элемента методом двоичного поиска. Предварительно массив отсортировать в порядке возрастания значения элементов.

38. В массиве, заполненном случайными числами, выполнить поиск заданного элемента методом последовательного поиска.

39. Отсортировать массив, заполненный случайными числами, методом сортировки массива при известном интервале значений элементов.

40. Написать программу, которая определяет, является ли квадратная матрица симметричной.

41. Написать программу, которая определяет и отправляет в выходной файл сумму каждой строки матрицы MхN. Матрица находится в файле input. В первой строке файла указан размер исходной матрицы.

42. Написать программу, которая читает из входного файла L чисел и определяет в записи числа количество всех содержащихся цифр в отдельности. Результат записывается в выходной файл output.

43. Написать программу, которая находит максимальное значение в файле.

44. Напишите программу, которая определит и выведет на экран все совпадающие элементы двух файлов целых чисел.

45. Напишите программу, которая определит сумму чисел, располагающихся на главной диагонали матрицы NхM. Матрица находится в файле.

 

НИТ Зачёт.

№1.

#include <iostream>

#include <cmath>

#include <locale>

using namespace std;

int main ()

{

double a, T, V, result;

const double g = 9.8;

const double Pi = 3.14;

setlocale (LC_ALL," ");

cout << "Введите скорость и время: ";

cin >> V >> T;

result = (g*T)/(2*V);

if (result < -1 && result >1){

cout << "Не верное значение!" << endl;

}

else {

cout << "Значение угла = " << asin(result)*180/Pi <<endl;

}

return 0;

№2.

#include <iostream>

#include <cmath>

#include <locale>

using namespace std;

int main ()

{

double alpha, V, L;

const double g = 9.8;

const double Pi = 3.14;

setlocale (LC_ALL," ");

cout << "Введите скорость и угол: ";

cin >> V >> alpha;

L = (V*V)*(sin(2*alpha))/(g);

if (L==0)

{

cout <<"Неверное значение!"<<endl;

}

else

{

cout << "Значение дальности полёта = " <<L<<endl;

}

return 0;

}

№3.

#include <iostream>

#include <cmath>

#include <locale>

using namespace std;

int main ()

{

double alpha, V, L,H;

const double g = 9.8;

const double Pi = 3.14;

setlocale (LC_ALL," ");

cout << "Введите дальность полета и высоту подъёма: ";

cin >> V >> alpha >> H;

alpha = atan(4*H/L)*180/Pi;

V = sqrt(((g*(L*L))+(16*(H*H))/(8*H)));

if (L=0,H=0)

{cout <<"Неверное значение угла="<<"Неверное значение скорости = "<<endl;

}

else

{

cout<<"Угол равен = " <<alpha<<endl;

cout << "Значение скорости = " <<V<<endl;

}

return 0;

}

№4.

#include <iostream>

using namespace std;

 

int main() {

int x1,y1,x2,y2,x3,y3;

cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;

if ((x1==x2 && y1==y2) || (x2==x3 && y2==y3) || (x3==x1 && y3==y1))

cout << "no";

else cout << "yes";

return 0;

}

№5.

# include <iostream>

int main()

{

int x1,x2,x3,y1,y2,y3;

double s,p,pp,a,b,c,aa;

setlocale (LC_ALL," ");

cout<<"Введите x1:";

cin>>x1;

cout<<" Введите y1:";

cin>>y1;

cout<<" Введите x2:";

cin>>x2;

cout<<" Введите y2:";

cin>>y2;

cout<<" Введите x3:";

cin>>x3;

cout<<" Введите y3:";

cin>>y3;

a = sqrt (((x1-x2)*(x1-x2))+((y1-y2)*(y1-y2)));

cout<<" a=" <<a;

b = sqrt (((x1-x3)*(x1-x3))+((y1-y3)*(y1-y3)));

cout<<" b=" <<b;

c = sqrt (((x2-x3)*(x2-x3))+((y2-y3)*(y2-y3)));

cout<< "c=" <<c;

p = a+b+c;

cout<<"p=" <<p;

pp=p/2;

s=sqrt(pp*(pp-a)*(pp- b)*(pp-c));

cout<<"s=" <<s;

return 0;

}

№6.

#include <iostream>

using namespace std;

int main(){

double x;

setlocale(LC_ALL,"Russian");

int a,b,c;

int d[3],i,j,k;

cout<<"Введите стороны"<<endl;

cout<<"a "<<"b "<<"c "<<endl;

cin>>a;

d[0]=a;

cin>>b;

d[1]=b;

cin>>c;

d[2]=c;

for (i=0;i<3;i++)

{

for (j=0;j<3;j++)

{

if (d[j]<d[j+1])

{

k=d[j];

d[j]=d[j+1];

d[j+1]=k;

}

}

}

if (((a+b)>c)&&((a+c)>b)&&((b+c)>a))

{

x=((d[2]*d[2])+(d[1]*d[1])-(d[0]*d[0]));

if(x==0)

cout<<"Прямоугольный"<<endl;

if(x>0)

cout<<"Остроугольный"<<endl;

if(x<0)

cout<<"Тупоугольный"<<endl;

if((a!=c)&&(a!=b)&&(c!=b))

cout<<"разносторонний"<<endl;

else

{

if((a==b)&&(a==c)&&(b==c))

cout<<"равносторонний"<<endl;

else

cout<<"равнобедренный"<<endl;}}

else cout<<"НЕ существует"<<endl;

system("pause");

}

 

№7.

#include <iostream>

#include<math.h>

#include<cmath>

using namespace std;

int main(){

double F,g,h,m;

const double G = 6.67E-11;

const double M = 5.96E24;

const double R = 6.37E6;

setlocale (LC_ALL," ");

cout<<"Введите значение h и m:";

cin>>h>>m;

F=G*(m*M)/)((R+h)*(R+h));

g=F/m;

if (result <9.7 && result >10){

cout << "Не верное значение!" <<endl

}

else {

cout << "Значение g = " <<g<<endl;

}

return 0;

№8.

#include <iostream>

#include <math.h>

#include <cmath>

using namespace std;

int main(){

const double с=3E8;

const double mb= 9.1E-31;

double Ek,Ek0,V,c;

setlocale (LC_ALL," ");

cout<<"Введите значение V:";

cin>>V;

Ek=(mb*c*c)/(sqrt(1-((V/c)*(V/c))) - mb*c*c);

Ek0=(mb*c*c)/2;

if (V=c){

cout << "Ek и Ek0 совпадают!" <<endl;

}

else {

cout << "Значение Ek = " <<Ek<<endl;

}

return 0;

}

№9.

#include <iostream>

#include <math.h>

using namespace std;

int main(){

const double i=log(2);

double t,T,N0,deltaN;

setlocale (LC_ALL," ");

cout<<"Введите значение t, T и N0=";

cin>>t>>N0>>T;

deltaN = N0*(1-exp(-(t*i)/(T)));

cout << "deltaN = " <<deltaN<<endl;

return 0;

}

№10.

#include <iostream>

#include <iomanip>

#include <cmath>

double cosx(double x);

int main()

{

double x;

std::cout «"Enter x: ";

std::cin » x;

std::cout «std::setprecision(15) «cosx(x) «std::endl;

std::cin.get();

return 0;

}

double cosx(double x)

{

double n = 1.0;

double sum = 0.0;

int i = 1;

do

{

sum += n;

n *= -1.0 * x * x / ((2 * i - 1) * (2 * i));

i++;

}

while (fabs(n) > 0.000000001);

return sum;

}

№11.

#include <iostream>

#include <cmath>

using namespace std;

double cos (double x, double e) {

double x2,c,n,f,z;

x2= x*x;

f= 2;

c= 1;

n= 2;

z= -1;

while ((x2/f)>=e) {

c=c+z*x2/f;

n=n+2;

x2=x2*x*x;

f=f*(n-1)*n;

z=z*(-1);

}

return c;

}

int main() {

double x,e;

cin>>x;

cin>>e;

cout<<cos(x,e)<<endl;

return 0;

}

№12.

#include <stdio.h>

double fact (int);

int main (void)

{

int n;

printf("n = "); scanf("%d", &n);

if (n<1) return -1;

printf("n! = %.0lf\n", fact(n));

return 0;

}

double fact (int n)

{

int i;

double f = 1;

for (i=1; i<=n; i++)

f *= i;

return f;

}

№13.

#include <stdio.h>

#include <math.h>

#define n 10

int main()

{

size_t i;

double x, sum = 0, add = 1;

do

{

printf("Input |x| < 1: ");

scanf("%lf", &x);

}

while(fabs(x) >= 1);

 

printf("Calculating sum with x = %f\n", x);

 

for(i = 0; i <= n; ++i, add *= (i + 1) * x)

sum += add;

 

printf("\nResult = %.2f\n", sum);

return 0;

}

№14.

#include <stdio.h>

#include <math.h>

 

#define n 10

int main()

{

size_t i;

double x, sum = 0, add = -1;

do

{

printf("Input |x| < 1: ");

scanf("%lf", &x);

}

while(fabs(x) >= 1);

printf("Calculating sum with x = %f\n", x);

for(i = 0; i <= n; ++i, add *= (i +1) * x)

sum += add;

printf("\nResult = %.2f\n", sum);

return 0;

}

№15.

#include <iostream>

#include <cmath>

 

double ln(double x, int threshold){

double result=0;

for (int i=1;i<threshold;i++)

result += (i%2==0?-1:1) * pow(x,i)/i;

return result;

}

int main (){

 

double x;

int n;

std::cout << "Input x: ";

std::cin >> x;

std::cout << " \n Input n: ";

std::cin >> n;

std::cout << " \n\n ln = " << ln(x,n);

return 0;

}

 

№16.

#iclude<iostream>

using namespace std;

int factorial(int N)

{

if(N==0) return 1;

if(N==1) return 1;

return N*factorial(N-1);

}

int main()

{

int N;

cout << "N = ";

cin >> N;

if(N >= 0)

{

cout << factorial(N);

}

else

{

cout << "Error: N < 0.";

}

return 0;

}

№17.

#include<iostream>

#include<cmath>

using namespace std;

int main()

{

setlocale (0,"");

double V, alpha,t; // V - начальная скорость

int N;

cout<<"Введите начальную скорость V= ";

cin>>V;

cout<<"Введите угол в радианах alpha= ";

cin>>alpha;

cout<<"Введите границу суммирования N = ";

cin>>N;

for (int x=1; x<=N; x++)

t+=x/V*cos(alpha);

cout<<"t = "<<t<<endl;

return 0;

}

 

№18.

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

double a,b,c,x;

cout << "Введите значение a: ";

cin >> a;

cout << "Введите значение b: ";

cin >> b;

cout << "Введите значение c: ";

cin >> c;

if((b*b - 4*a*c) >= 0)

{

x = (-1*b + sqrt(b*b - 4*a*c)) / (2 * a);

cout << "Первый корень равен " << x << endl;

x = (-1*b - sqrt(b*b - 4*a*c)) / (2 * a);

cout << "Второй корень равен " << x << endl;

}

else

{

cout << "Дискриминант меньше 0, корни невещественные." << endl;

}

return 0;}

№19.

#include <iostream>

int main () {

int matrix[3][3];

for(int i = 0; i<3; i++)

for(int j = 0; j<3; j++)

std::cin>>matrix[i][j];

int det = matrix[0][0]*matrix[1][1]*matrix[2][2]

+matrix[2][0]*matrix[0][1]*matrix[1][2]

+matrix[1][0]*matrix[2][1]*matrix[0][2]

-matrix[2][0]*matrix[1][1]*matrix[0][2]

-matrix[0][0]*matrix[2][1]*matrix[1][2]

-matrix[1][0]*matrix[0][1]*matrix[2][2];

std::cout<<"Determinant = "<<det<<std::endl;

system("pause");

}

№20.

#include <iostream>

int main () {

int matrix[2][2];

for(int i = 0; i<2; i++)

for(int j = 0; j<2; j++)

std::cin>>matrix[i][j];

int det = matrix[0][0]*matrix[1][1]-matrix[1][0]*matrix[0][1];

std::cout<<"Determinant = "<<det<<std::endl;

system("pause");

}

№21.

#include <iostream>

using namespace std;

int main() {

int i,n;

double d;

double a[i];

double b[i];

double skal;

for (int i = 0; i < n; i++)

skal += a[i] * b[i];

d = skal;

cout <<"skal= " <<d;

return 0;

}

№22.

#include <iostream>

using namespace std;

int main() {

int i,j,n;

double a[i],b[j], mdla, mdlb, mdlab,alpha,ugl;

for (i = 0; i < n; i++)

cin >> a[i];

for (j = 0; j< n; j++)

cin >> b[j];

mdla = sqrt(a[i]*a[i]);

mdlb = sqrt(b[j]*b[j]);

mdlab = mdla*mdlb;

ugl = acos(mdlab) /mdla*mdlb;

cout <<"alpha="<<ugl;

return 0;

}

№23.

#include <iostream>

#include <cstdlib>

using namespace std;

const int N = 10;

int main()

{

int mass[N], max;

cout << "Элементы: |";

for(int r = 0; r<N; r++)

{

mass[r] = rand()%99;

cout << mass[r] << "|";

}

cout << endl;

max = mass[0];

for(int r = 1; r<N; r++)

{

if(max < mass[r]) max = mass[r];

}

cout << "Max: " << max << endl;

return 0;

}

№24.

#include <iostream>

using namespace std;

int main()

{

int n, min = 0;

int a[10];

cin >> n;

for (int i = 0; i < n; i++)

{

cin >> a[i];

}

min = a[0];

for (int i = 0; i < n; i++)

{

if (min > a[i])

{

min = a[i];

}

}

cout << min << endl;

system("pause>>void");

return 0;

}

№25.

#include <stdio.h>

 

void lol(int *x, int b)

{

int h, i;

h = x[0];

for (i = 0; i < b; i++)

{

if (h < x[i])

h = x[i];

}

printf("%i", h);

}

 

void main()

{

int *a, i, n;

scanf("%i", &n);

a = new int[n];

for (i = 0; i < n; i++)

scanf("%i ", &a[i]);

lol(a, n);

delete[]a;

}

№26.

#include <iostream>

using namespace std;

int main()

{

int n, min = 0;

int *a = new int[100];

cin >> n;

for (int i = 0; i < n; i++)

{

cin >> a[i];

}

 

min = a[0];

 

for (int i = 0; i < n; i++)

{

if (min > a[i])

{

min = a[i];

}

}

cout << min << endl;

delete[] a;

system("pause>>void");

return 0;

}

№27.

#include <iostream>#include <cstdlib> #include <ctime>#include <cmath> void func(int matrix[8][5]) { int i, j; int summa = 0; int count = 0; for (i = 0; i < 8; i++) { for (j = 0; j < 5; j++) if(matrix[i][j] > 0) { matrix[i][j] = matrix[i][j]*matrix[i][j]; summa += matrix[i][j]; count++; } if(summa == 0) continue; summa = summa / count; std::cout << "Среднее квадратичное строки " << i <<") "<< sqrt((double) summa) << std::endl; summa = 0; count = 0; } } int main() { setlocale(0, "rus"); srand((unsigned) time(0)); int matrix[8][5]; int i, j; for (i = 0; i < 8; i++) for (j = 0; j < 5; j++) { matrix[i][j] = rand() % 21 - 10; if(j % 5 == 0) std::cout << std::endl; std::cout << std::setw(3) << matrix[i][j] << " "; } std::cout << std::endl; func(matrix);

№28.

#include <iostream>

using namespace std;

int main(){

const int n=4;

int i;

double x[n],y[n];

double a,b;

double Sx=0,Sy=0,Sxy=0,Sxx=0;

cout << "x = ";

for(i=0; i < n; i++)

cin >> x[i];

cout << "y = ";

for(i=0; i < n; i++)

cin >> y[i];

for(i=0; i < n; i++){

Sx+=x[i];

Sy+=y[i];

Sxy+=x[i]*y[i];

Sxx+=x[i]*x[i];

}

Sx/=n;

Sy/=n;

Sxy/=n;

Sxx/=n;

a=(Sx*Sy-Sxy)/(Sx*Sx-Sxx);

b=(Sxy-a*Sxx)/Sx;

cout << "a = " << a << endl;

cout << "b = " << b << endl;

return 0;

}

№29.

#include <iostream>

#include<cmath>

using namespace std;

int main(){

const int N=3;

int i,k,n=10;

double x,f,df;

double a[N+1];

double b[N];

cout<<”Fuction:”;

cin>>a[0];

for (i=1;i<N+1;i++){

cin>>a[i];

b[i-1]=i*a[i];

cout<<”Enter x0 = “;

cin>>x;

for (k=1;k<=n;k++){

f=a[0];

df=0;

for (i=1;i<N+1;i++){

f+=a[i]*pow(x,i);

df=b[i-1]*pow(x,i-1);

}

x-=f/df;

}

cout<<”x = “<<x<<endl;

cout<<”f (“<<x<<”) = “<<f<<endl;

return 0;

}

№30.

#include <iostream>

using namespace std;

 

int main(){

int a[200];

int i,counter,sum;

double sred;

setlocale(LC_ALL,"rus");

counter=0;

sum =0;

cout<<"Заполняется массив случайными числами: \n";

for(i=0; i<200; i++){

a[i]=rand()%200;

cout<<a[i]<<"\t";

sum+=a[i];

counter++;

}

sred=sum/counter;

if(a[i]==sred) cout<<"Ср.ариф есть в массиве"<<i;

else cout<<"Ср.ариф нет в массиве";

cout<<"\n";

cout<<"Cумма элементов: "<<sum<<"\n";

cout<<"среднее арифметическое:"<<sred<<"\n";

cout<<"\n";

return 0;

}

№31.

#include <conio.h>

#include <iostream>

#include <stdlib.h>

#include <math.h>

int main()

{

setlocale(LC_CTYPE,"Russian");

int a,b,i,k=0;

double s=0;

cout <<"a,b";

cin >>a>>b;

while (a<=b);

{

s = s+a;

k = k+1;

a = a+1;

}

s = s/k;

cout<<s;

}

getch();

}

№32.

#include <iostream>

#include <cmath>

using namespace std;

double F(double a, double b) {

return sqrt(a*a + b*b);

}

int main()

{

double a, b;

{

cout <<"a="; cin >> a;

if (a<=0) cout <<"The catet must be greater than zero. Repeat please."<<endl;

}

while (a<=0);

{

cout <<"b="; cin >> b;

if (b<=0) cout <<"The catet must be greater than zero. Repeat please."<<endl;

}

while (b<=0);

cout <<"c=" << F(a, b);

system("pause");

return 0;

№33.

#include <iostream>

#include <cmath>

using namespace std;

int main() {

double xa, xb, ya, yb, za, zb;

cin >> xa >> xb >> ya >> yb >> za >> zb;

double AB = sqrt((xb-xa)*(xb-xa)+(yb-ya)*(yb-ya)+(zb-za)*(zb-za));

cout << AB;

return 0;

}

№34.

#include <conio.h>

#include <iostream>

using namespace std;

int main()

{

int num, i=1, n, nnum=0;

cout<<"Vvedite 4islo\n";

cin>>num;

do

{

i=i*10;

}

while(num/i!=0);

i=i/10;

for(;i!=0;i=i/10)

{

n=(num/i)%10;

if(n==0||n==5)

continue;

nnum=nnum*10+n;

}

cout<<"\n"<<nnum<<"\n";

getch();

}

№35.

#include <iostream>

using namespace std;

int main() {

const int m=10;

int MyArray[m];

int i,j,s;

cout<<”Before:\n”;

for (i=0; i<m; i++) {

MyArray[i] = rand() % 20;

cout<<MyArray[i]<<” “; }

for (j=1; j<=(m-1); j++)

for (i=0; i<m-j; i++)

if (MyArray[i]>MyArray[i+1]){

s = MyArray[i+1];

MyArray[i+1] = MyArray[i];

MyArray[i] = s; }

cout<<”\nAfter: \n”;

for (i=0; i<m; i++)

cout<<MyArray[i]<<” “;

cout<<”\n”;

return 0;

}

№36.

#include <iostream>

#include <iterator>

#include <vector>

using namespace std;

void sort(vector<double>& a, int n) {

for (int i = 0; i + 1 < n; ++i) {

if (a[i] < a[i + 1]) {

swap(a[i], a[i + 1]);

if (i!= 0)

i -= 2;

}

}

}

int main() {

int n;

cin >> n;

vector<double> a(n);

for (int i = 0; i < n; ++i)

cin >> a[i];

sort(a, n);

copy(a.cbegin(), a.cend(), ostream_iterator<double>(cout, " "));

}

№37.

void SortAlgo::quickSort(int* data, int const len)

{

int const lenD = len;

int pivot = 0;

int ind = lenD/2;

int i,j = 0,k = 0;

if(lenD>1){

int* L = new int[lenD];

int* R = new int[lenD];

pivot = data[ind];

for(i=0;i<lenD;i++){

if(i!=ind){

if(data[i]<pivot){

L[j] = data[i];

j++;

}

else{

R[k] = data[i];

k++;

}

}

}

quickSort(L,j);

quickSort(R,k);

for(int cnt=0;cnt<lenD;cnt++){

if(cnt<j){

data[cnt] = L[cnt];;

}

else if(cnt==j){

data[cnt] = pivot;

}

else{

data[cnt] = R[cnt-(j+1)];

}

}

}

}

№38.

#include <iostream>#include <ctime> using namespace std; int main(){ setlocale(LC_ALL,"Russian"); srand(static_cast<int>(time(NULL))); int **mat; int M,sum=0,sum1=0; cout<<"Введите M: "; cin>>M; mat = new int*[M]; cout<<"Матрица: "<<endl; for(int i=0; i<M; i++) { mat[i] = new int[M]; for(int j=0; j<M; j++) { mat[i][j]=rand()%9; cout<<mat[i][j]<<" "; if(i==j) { sum+=mat[i][j]; } if(i+j==M-1) { sum1+=mat[i][j]; } } cout<<endl; } cout<<"Сумма элементов главной диагонали -> "<<sum<<endl; cout<<"Сумма элементов побочной диагонали -> "<<sum1<<endl; system("pause"); return 0;}

 

№39.

#include <iostream> using namespace std; int main() { int i,k,j, N; float a[100]; cout<<"vvedite kolichestvo elementov"<<endl; cin>>N; for(i=1;i<N;i++) { a[0]=N*N; a[i]=a[i-1]+133; } for(i=0;i<N;i++) { cout<<"a["<<i<<"]="<<a[i]<<endl; } float min=a[0]; int nummin=0; for(i=1;i<N;i++) { if(a[i]<=min) { min=a[i]; nummin=i; } } cout <<"min: "<<"a["<<nummin<<"]="<< min <<endl; float max=a[0]; int nummax=0; for(i=1;i<N;i++) { if(a[i]>=max) { max=a[i]; nummax=i; } } cout <<"max: "<<"a["<<nummax<<"]="<< max <<endl; int chet=0; if (nummax<nummin) { for(i=nummax;i<nummin;i++) { if (a[i] % 2 == 0) { chet++; } } } if (nummax>nummin) { for(i=nummin;i<nummax;i++) { if (a[i] % 2 == 0) { chet++; } } } cout<<chet<<endl; return 0; } №40. #include <iostream> #include <stdlib> using namespace std; int Binary_Search(int A[], int N, int Num) { Int Left, Right, Middle; Left = 0; Right = N-1; Middle = (Left +Right)/2; While (Left<=Right) { If (A[Middle]>Num) Right = Middle – 1 Else Left = Middle +1; Middle (Left+Right)/2; return -1; } { P==Binary_Search(B[],Size,Num); If (P==1) cout <<’’Not found’’; Else cout <<’’Index = ‘’ <<P; return 0; } } №41. #include <iostream> #include <conio.h> #include <ctime> #define N 100 using namespace std; int main() { srand((unsigned) time(NULL)); int a[N], m, temp,i=0; for (int n = 0; n < N; n++) { a[n] = rand(); cout << a[n] << ' '; } cout << endl << endl; for (int n = 1; n < N; n++) { m = a[n]; i = n - 1; while (i > -1 && a[i] >= m) { a[i+1] = a[i]; i = i - 1; } a[i+1] = m; } cout<<endl<<"otsortirovanniy massiv:"<<endl; for (int n = 0; n < N; n++) cout << a[n] << ' '; cout<<endl<<"vvedite chislo dlya poiska:"; cin>>temp; int count = 0; for (int n = 0; n < N; n++) { if (a[n] == temp) { count++; } } if (count > 0) { cout<<endl<<"Kolichestvo naydenih elementov = "<<count; } else { cout<<endl<<"Element ne nayden"; } getch(); cin.get(); return 0; } №42.   #include <iostream> using namespace std; void Init(int **arr, int n, int m) { for (int i=0;i<n;i++) arr[i]=new int[m];   for (int i=0;i<n;i++) { for (int j=0;j<m;j++) { arr[i][j]=rand()%21-10; } } }   void Print(int **arr, int n, int m) { for (int i=0;i<n;i++) { for (int j=0;j<m;j++) { cout << arr[i][j] << " "; } cout << endl; } }   void Free(int **arr, int n) { for (int i=0;i<n;i++) delete[] arr[i]; delete[] arr; }   int main() { int n,m; cin >> n >> m; int **arr=new int*[n]; Init(arr,n,m); Print(arr,n,m); Free(arr,n); return 0; } №43. #include <iostream> using namespace std; int main() { int n; cin>>n; int a[n][n]; for (int i=0; i<n; i++) for (int j=0; j<n; j++) cin>> a[i][j]; for (int i=0; i<n; i++) for (int j=0; j<n; j++) if (a[i][j]!=a[j][i]) {cout<<"no"; return 0;} cout<<"yes"; }   №45. #include <stdio.h> #include <string.h> #include <conio.h> char is_digit (char x) { return ((x >= '0') & (x <= '9')); }   int main() { unsigned char str[] = "this12 i321s a90 string"; unsigned char *pstr=str; int cnt = 0; while (*pstr) cnt += is_digit(*(pstr++)); printf("Hello world! %i\n", cnt); getch(); return 0; } №46.   #include <iostream> #include <stdio.h> #include <stdlib.h> #include <iomanip> #include <fstream> #include <string.h> using std::cin; using std::endl;   using std::cout; using namespace std; int main() { int a[40][20]; int x,y; int sum = 0; FILE *myDataFile1; ofstream myOutFile1; myOutFile1.open ("highestValues.txt",ios::out); myDataFile1 = fopen("input.txt", "r"); for (x = 0; x < 40; x++) for (y = 0; y < 20; y++) fscanf(myDataFile1,"%d ",&a[x][y]); for (x = 0; x < 40; x++) { int maximum = a[x][0]; for (y = 0; y < 20; y++) maximum = max(maximum,a[x][y]); myOutFile1 << "Maximum for line "<<x<<": "<<maximum << endl; } fclose(myDataFile1); myOutFile1.close(); return 0; }     №47. #include<iostream> #include<string> #include<fstream> using namespace std; int main(){ setlocale(LC_ALL,"Russian"); int i=0; bool a=true; string t1, t2; fstream f1, f2; f1.open("a.txt"); f2.open("b.txt"); while(getline(f1,t1)&& getline(f2,t2)){ if(t1==t2) i++; else { a = false;. cout<<i+1<<endl; i++; cout<<i+1<<endl; break; } } cout<<""<<endl; return 0; }  
 
 
 
 
 
 
 
 
 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-11-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: