Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
187.07 Кб
Скачать

Вариант №30

Отсортировать по убыванию модуля элементов одномерный массив целых чисел A[N]. Исходный и преобразованный массив вывести на экран.

#include <iostream>

#include <math.h>

using namespace std;

void Vvod(int n, int *arr)

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

{ cout << "arr["<<i <<"]: ";

cin >> arr[i];

}

}

void Vivod(int n, int *arr)

{ cout << "Massiv" << endl;

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

{ cout << arr[i] << " "; }

cout << endl;}

void Func(int n, int *arr)

{ int elem;

cout << "Sortirovka!";

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

{ for( int j=n-1;j>i;j--)

{if (abs(arr[j-1])>abs(arr[j]))

{ int x=arr[j];

arr[j]=arr[j-1];

arr[j-1]=x;

} } }

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

{ cout << arr[i] << " "; }

}

void main()

{ int n;

cout << "Razmer:" << endl;

cin >> n;

int *arr = new int[n];

Vvod(n, arr);

Vivod(n, arr);

Func(n, arr);

delete[] arr;

}

Последовательность ряда Фибоначчи определяется следующим образом: F0=0, F1= 1, Fn=F n-2+F n-1, n=2,3,4,…Ввести n и найти Fn. Программа должна содержать рекурсивную функцию.

#include <iostream>

#include <windows.h>

void getInput();

int f(int n);

void getOut(int n);

void main()

{ setlocale(LC_ALL,".1251");

getInput();

}

void getInput()

{ int n = 0;

puts("Введите n: ");

scanf("%d", &n);

getOut(f(n));

}

void getOut(int n)

{ printf("%d\n", n);}

int f(int n)

{if(n == 0)

{return 0; }

else if(n == 1)

{return 1; }

else

{ return f(n-1) + f(n-2); }

}

Вариант №31

Дан массив действительных чисел X[N]. Отсортировать его по убыванию дробной части элементов. Исходный и преобразованный массив вывести на экран.

#include <iostream>

#include <math.h>

using namespace std;

void main()

{ int n;

cout << "Razmer:" << endl;

cin >> n;

double *arr = new double[n];

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

{cout << "arr [" << i << "]: ";

cin >> arr[i];

}

cout << "Massiv:" << endl;

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

{cout << arr[i] << " "; }

double y1, y2, n1, n2;

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

{ for(int j = n-1; j > i; j--)

{ y1 = modf(arr[j], &n1);

y2 = modf(arr[j-1], &n2);

if(y1 > y2)

{double x = arr[j-1];

arr[j-1] = arr[j];

arr[j] = x;

}

}

}

cout << "\n Izmenenniy massiv" << endl;

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

{cout << arr[i] << " "; }

delete[] arr;

}

Организовать ввод целых чисел с клавиатуры. Определить сколько цифр в каждом числе и вывести это значение на экран. При вводе числа 0 программу завершить. Массив не использовать.

#include <iostream>

#include <windows.h>

int getInput();

int getCount();

void main()

{ setlocale(LC_ALL,".1251");

while(getInput())

{

}

}

int getInput()

{ int count;

puts("Введите число\n");

count = getCount();

printf("%d", count);

return count;

}

int getCount()

{ char x, y= ' ';

int i = 0;

do

{ x = y;

i++;

}while((y = getchar()) != '\n');

if(x == '0' && i == 2)

{ return 0; }

return i-1;

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]