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

Вариант №26

Дана матрица целых чисел A[M][N]. Определить наименьший элемент j-го столбца. Число j ввести с клавиатуры. Матрицу и найденное значение вывести на экран.

#include <iostream>

#define SIZE 100

using namespace std;

void Vvod(int n, int m, int arr[][SIZE]){

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

{ for(int j = 0; j < m; ++j){

cout << "[" << i << "]["<< j <<"]: ";

cin >> arr[i][j];

} }

}

void Vivod(int n, int m, int arr[][SIZE]){

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

for(int j = 0; j < m; ++j){

cout << arr[i][j] << " ";

}

cout<<endl;

}

cout<<endl;

}

void main(){

int A [SIZE][SIZE];

int n,m;

cout << "ROW" << endl;

cin >> n;

cout << "COL" << endl;

cin >> m;

if((n > 100 && n <= 0) || (m > 100 && m <= 0 )){

cout<<"Error size"; system("pause"); return;

}

cout << "Massiv A" << endl;

Vvod(n,m, A);

cout << "\nMassiv A" << endl;

Vivod(n, m, A);

int J;

cout<<"Nomer stolbca: ";

cin>>J;

J--;

if(J > n || J < 0){cout<<"Error "; system("pause"); return; }

int min = A[0][J];

for (int i=1; i<m; i++){

if(A[i][J] < min ){

min = A[i][J];

}

}cout << "\nmin " << min<< endl;

}

Ввести два положительных целых числа. Найти наименьшее общее кратное этих чисел. Программа должна содержать рекурсивную функцию.

#include <iostream>

#include <windows.h>

void getInput();

int getNOK(int n1, int n2);

int getNOD(int n1, int n2);

void getOut(int res);

void main()

{ setlocale(LC_ALL,".1251");

getInput();

}

void getInput()

{

int n1 = 0, n2 = 0;

puts("Введите 2 числа: ");

scanf("%d%d", &n1, &n2);

int buf;

if(n1 < n2)

{

buf = n1;

n1 = n2;

n2 = buf;

}

getOut(getNOK(n1, n2));

}

void getOut(int res)

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

int getNOK(int n1, int n2)

{ return n1*n2/getNOD(n1,n2);}

int getNOD(int n1, int n2)

{ if(n1 % n2 != 0)

{ getNOD(n2, n1%n2); }

else

{ return n2; }

}

Вариант №27

Дана матрица вещественных чисел A[M][N]. Определить наибольший элемент j-го столбца. Число j ввести с клавиатуры Матрицу и найденное значение вывести на экран.

#include <iostream>

#define SIZE 100

using namespace std;

void Vvod(int n, int m, double arr[][SIZE])

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

{ for(int j = 0; j < m; ++j){

cout << "[" << i << "]["<< j <<"]: ";

cin >> arr[i][j];

} }

}

void Vivod(int n, int m, double arr[][SIZE])

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

for(int j = 0; j < m; ++j){

cout << arr[i][j] << " "; } cout<<endl;

}cout<<endl;

}

void main(){

double A [SIZE][SIZE];

int n,m;

cout << "ROW" << endl;

cin >> n;

cout << "COL" << endl;

cin >> m;

if((n > 100 && n <= 0) || (m > 100 && m <= 0 )){cout<<"Error size"; system("pause"); return; }

cout << "Massiv A" << endl;

Vvod(n,m, A);

cout << "\nMassiv A" << endl;

Vivod(n, m, A);

int J;

cout<<"Nomer stolbca:";

cin>>J;

--J;

if(J > m || J < 0){

cout<<"Error "; system("pause"); return;

}

double max = A[0][J];

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

if(A[i][J] > max ){

max = A[i][J];

}

}

cout << "\nmax " << max<< endl;

}

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

#include <iostream>

#include <windows.h>

void getOut();

int check(int i);

void main()

{ setlocale(LC_ALL,".1251");

getOut();

}

void getOut()

{ int i;

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

{ if(check(i))

{

printf("%d ", i);

}

}

}

int check(int i)

{

int sum = 1;

int k;

for(k = 2; k <= i/2; ++k)

{

if(!(i % k))

{

sum += k;

}

}

if(sum == i)

{

return 1;

}

return 0;

}

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