Главная
Популярная публикация
Научная публикация
Случайная публикация
Обратная связь
ТОР 5 статей:
Методические подходы к анализу финансового состояния предприятия
Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века
Ценовые и неценовые факторы
Характеристика шлифовальных кругов и ее маркировка
Служебные части речи. Предлог. Союз. Частицы
КАТЕГОРИИ:
|
3 страница. ВАРИАНТ №24
Дана матрица целых чисел A[M][N]
ВАРИАНТ №24
Дана матрица целых чисел A[M][N]. Определить наименьший элемент i-ой строки. Число i ввести с клавиатуры Матрицу и найденное значение вывести на экран.
#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 I;
cout<<"Nomer stroki:";
cin>>I;
I--;
if(I > n || I < 0){
cout<<"Error "; system("pause"); return;
}
int min = A[I][0];
for (int j=1; j<m; j++){
if(A[I][j] < min){
min = A[I][j];
} }
cout << "\nmin " << min<< endl;
}
| Дан массив целых чисел X[N]. Все четные и отрицательные элементы массива увеличить в 2 раза и вывести результат на экран
#include <iostream>
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)
{ cout << "Vse ne4etnie i otritzatel'nie elementi uveli4eny v 2 raza!";
for(int i = 0; i < n; i++)
{ if(arr[i]%2 == 0 || arr[i] < 0)
{ cout << arr[i]*2 << " "; }
}
}
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;
}
|
ВАРИАНТ №25
Дана матрица вещественных чисел A[M][N]. Определить наибольший элемент i-ой строки. Число i ввести с клавиатуры Матрицу и найденное значение вывести на экран.
#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 I;
cout<<"Nomer stroki:";
cin>>I;
I--;
if(I > n || I < 0){
cout<<"Error "; system("pause"); return; }
double max = A[I][0];
for (int j=1; j<m; j++){
if(A[I][j] > max){
max = A[I][j];
}
}
cout << "\nmax " << max<< endl;
}
| Вводим число, например 45678. Найти сумму данного числа и числа обратного данному числу. (т.е. 45678+87654). Получения обратного числа написать с помощью функции.
#include <iostream>
#include <windows.h>
void getInput();
void getOut(int num, int mun);
int getInverse(int num);
int reverse(int num, int base);
int getBase(int num);
void main()
{ setlocale(LC_ALL,".1251");
getInput();
}
void getInput()
{ int num, mun;
puts("Введите число: ");
scanf("%d", &num);
mun = getInverse(num);
getOut(num, mun);
}
void getOut(int num, int mun)
{ printf("\n%d + %d = %d\n", num, mun, num + mun);
}
int getInverse(int num)
{ int mun;
mun = reverse(num, getBase(num));
return mun;
}
int getBase(int num)
{ int base = 1;
while(base < num/10)
{ base *= 10; }
return base;
}
int reverse(int num, int base)
{ int mun = 0;
int ciph;
while(num > 0)
{ciph = num % 10;
num = num / 10;
mun += ciph * base;
base /= 10;
}
return mun;
}
|
ВАРИАНТ №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;
}
|
ВАРИАНТ №28
Отсортировать по возрастанию j-ый столбец матрицы действительных чисел X[M][N]. Число 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 stroki:";
cin>>J;
if(J > m && J < 0){
cout<<"Error "; system("pause"); return;
} for (int K=1; K<m;++K){
for (int i=0; i<n-K; i++){
if(A[i][J] < A[i+1][J]){
double buf =A[i][J];
A[i][J] = A[i+1][J];
A[i+1][J] = buf;
} } }
cout << "\nMassiv A" << endl;
Vivod(n,m, A);
cout << endl;
}
| Дан массив действительных чисел X[N]. Вычислить Y = max (X[i]) / min (X[i]). Вывести вычисленное значение на экран.
#include <iostream>
using namespace std;
void Vvod(int n, double *arr)
{
for(int i = 0; i < n; i++)
{
cout << "arr[" << i << "]: ";
cin >> arr[i];
}
}
void Vivod(int n, double *arr)
{ for(int i = 0; i < n; i++)
{ cout << arr[i] << " "; }
}
void main()
{
int n;
cout << "Razmer: "<<endl;
cin >> n;
double *A = new double[n];
cout << "Massiv A" << endl;
Vvod(n, A);
double max = -1000;
double min = 1000;
double result;
for(int i = 0; i < n; i++)
{ if(A[i] > max)
{
max = A[i];
}
if(A[i] < min)
{
min = A[i];
}
}
result = max/min;
cout << "\nMassiv A" << endl;
Vivod(n, A);
cout << "\nMax / Min = "<< result;
cout << endl;
delete[] A;
}
|
ВАРИАНТ №29
Отсортировать по возрастанию модуля элементов одномерный массив целых чисел 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-1];
arr[j-1]=arr[j];
arr[j]=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;
}
| Ввести символьную строку. Определить является ли данная строка палиндромом (т.е. с лева на право и с права на лево читается одинаково). Дополнительные строки не использовать.
#include <stdio.h>
#include <iostream>
void input_str(char*);
int Check(char*);
void main()
{ setlocale(LC_ALL, "Russian");
char str[100];
input_str(str);
if(!Check(str))
puts("Не палиндром");
else
puts("Палиндром");
}
void input_str(char* str)
{ puts("Введите строку:");
gets(str);
}
int Check(char* str)
{ int n=strlen(str)-1;
for(int i=0; i < n; ++i, n--)
{ if(str[i]!=str[n])
{ return 0; }
}
return 1;
}
|
ВАРИАНТ №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;
}
|
ВАРИАНТ №32
Дан массив действительных чисел 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] << " "; }
int y1, y2;
for(int i = 0; i < n; i++)
{ for(int j = n-1; j > i; j--)
{ y1 = (int)arr[j];
y2 = (int)arr[j-1];
if(abs(y1) < abs(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;
}
| Ввести символьную строку. Если ее длина равна 10, удалить все буквы - A,... Z. Вывести преобразованную строку. Дополнительные строки не использовать. (При выводе строк использовать функцию puts).
#include <stdio.h>
#include <iostream>
void input_str(char*);
void delNum(char*);
void main()
{ setlocale(LC_ALL, "Russian");
char str[100];
input_str(str);
delNum(str);
puts(str);
}
void input_str(char* str)
{ puts("Введите строку: ");
gets(str);
}
void delNum(char* str)
{for(int i=0; i< strlen(str); ++i)
{if(str[i]>='A' && str[i]<='Z')
{int j=i;
while(j<strlen(str))
{ str[j]=str[j+1];
++j;
}
--i;
}
}
}
|
ВАРИАНТ №33
Дан массив действительных чисел X[M]. Сформировать массив, в котором сначала записаны положительные числа исходного массива, а затем отрицательные в том порядке, в котором они находятся в исходном массиве. Вывести на экран исходный и преобразованный массивы.
#include <iostream>
using namespace std;
void Sort(int n, double *arr, double *arr2)
{ int j = 0;
for(int i = 0; i < n; i++)
{if(arr[i] > 0)
{ arr2[j++] = arr[i]; }
}
for(int i = 0; i < n; i++)
{ if(arr[i] < 0)
{ arr2[j++] = arr[i]; }
}}
void main()
{ int n;
cout << "Razmer: ";
cin >> n;
double *arr = new double[n];
double *arr2 = new double[n];
for(int i = 0; i < n; i++)
{cout << "arr [" << i << "]: ";
cin >> arr[i];
}
cout << endl;
for(int i = 0; i < n; i++)
{cout << arr[i] << " ";
}
int plus = 0;
for(int i = 0; i < n; i++)
{ if(arr[i] <= 0)
{ plus++; }
}
Sort(n, arr, arr2);
cout << endl;
for(int i = 0; i < n; i++)
{ cout << arr2[i] << " "; }
cout << endl;
delete[] arr;
delete[] arr2;
}
| Вводим число, например 45678. Найти произведение данного числа и числа обратного данному числу. (т.е. 45678*87654). Получения обратного числа написать с помощью функции.
#include <iostream>
#include <windows.h>
void getInput();
void getOut(int num, int mun);
int getInverse(int num);
int reverse(int num, int base);
int getBase(int num);
void main()
{ setlocale(LC_ALL,".1251");
getInput();
}
void getInput()
{ int num, mun;
puts("Введите число: ");
scanf("%d", &num);
mun = getInverse(num);
getOut(num, mun);
}
void getOut(int num, int mun)
{ printf("\n%d * %d = %d\n", num, mun, num * mun);
}
int getInverse(int num)
{ int mun;
mun = reverse(num, getBase(num));
return mun;
}
int getBase(int num)
{ int base = 1;
while(base < num/10)
{ base *= 10; }
return base;
}
int reverse(int num, int base)
{ int mun = 0;
int ciph;
while(num > 0)
{ciph = num % 10;
num = num / 10;
mun += ciph * base;
base /= 10;
}
return mun;
}
|
ВАРИАНТ №34
Дан массив целых чисел X[M]. Сформировать массив, в котором сначала записаны четные числа исходного массива, а затем нечетные в том порядке, в котором они находятся в исходном массиве. Вывести на экран исходный и преобразованный массивы.
#include <iostream>
using namespace std;
void Sort(int n, int *arr, int *arr2)
{ int j = 0;
for(int i = 0; i < n; i++)
{ if(arr[i]%2 == 0)
{ arr2[j++] = arr[i]; }
}
for(int i = 0; i < n; i++)
{ if(arr[i]%2!= 0)
{ arr2[j++] = arr[i]; }
}
}
void main()
{ int n;
cout << "Razmer: ";
cin >> n;
int *arr = new int[n];
int *arr2 = new int[n];
for(int i = 0; i < n; i++)
{ cout << "arr [" << i << "]: ";
cin >> arr[i];
}
cout << endl;
for(int i = 0; i < n; i++)
{ cout << arr[i] << " ";
}
Sort(n, arr, arr2);
cout << endl;
for(int i = 0; i < n; i++)
{ cout << arr2[i] << " "; }
cout << endl;
delete[] arr;
delete[] arr2;
}
| За один просмотр определить сколько раз встречается каждый символ в данной строке.
#include <stdio.h>
#include <iostream>
void input_str(char*);
void Check(char*, int*);
void output_arr(int*);
void main()
{ setlocale(LC_ALL, "Russian");
char str[100];
int arr[255]={0};
input_str(str);
Check(str, arr);
output_arr(arr);
}
void input_str(char* str)
{
puts("Введите строку:");
gets(str);
}
void Check(char* str, int* arr)
{
for(int i=0; i< strlen(str); ++i)
{
++arr[str[i]];
}
}
void output_arr(int* arr)
{ for(int i=0; i<255; ++i)
if(arr[i])
printf("%c \t %d\n", i, arr[i]);
}
|
ВАРИАНТ №35
Даны массивы целых чисел A[N] и B[N]. Создать массив С[N], элементы которого получаются по следующему правилу: С[i] = max (A[i], B[i]). Определить, сколько элементов С[i] получило значение A[i]. Вывести исходные массивы и результаты вычислений.
#include <iostream>
using namespace std;
void Vivod(int n, int *arr)
{ for(int i = 0; i < n; i++)
{ cout << arr[i] << " "; }
}
void main()
{ int n;
cout << "Razmer" << endl;
cin >> n;
int *A = new int[n];
int *B = new int[n];
int *C = new int[n];
cout << "Massiv A" << endl;
for(int i = 0; i < n; i++)
{ cout << "A[" << i << "]: ";
cin >> A[i];
}
cout << "\nMassiv B" << endl;
for(int i = 0; i < n; i++)
{ cout << "B[" << i << "]: ";
cin >> B[i];
}
int j = 0;
for(int i = 0; i < n; i++)
{ if(A[i] > B[i])
{ C[i] = A[i];
j++; }
else
{ C[i] = B[i]; }
}
cout << "\nMassiv A" << endl;
Vivod(n, A);
cout << "\nMassiv B" << endl;
Vivod(n, B);
cout << "\nMassiv C" << endl;
Vivod(n, C);
cout << "\nElementov iz massiva A " << j;
cout << endl;
delete[] A;
delete[] B;
delete[] C;
}
| Ввести два положительных целых числа. Найти наибольший общий делитель этих чисел. Программа должна содержать рекурсивную функцию.
#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(getNOD(n1, n2));
}
void getOut(int res)
{ printf("\n%d\n", res); }
int getNOD(int n1, int n2)
{ if(n1 % n2!= 0)
{ getNOD(n2, n1%n2); }
else
{
return n2;
}
}
|
ВАРИАНТ №36
Даны массивы вещественных чисел A[N] и B[N]. Создать массив С[N], элементы которого получаются по следующему правилу: С[i] = min (A[i], B[i]). Определить, сколько элементов С[i] получило значение В[i]. Вывести исходные массивы и результаты вычислений.
#include <iostream>
using namespace std;
void Vivod(int n, double *arr)
{ for(int i = 0; i < n; i++)
{ cout << arr[i] << " "; }
}
void main()
{ int n;
cout << "Razmer" << endl;
cin >> n;
double *A = new double[n];
double *B = new double[n];
double *C = new double[n];
cout << "Massiv A" << endl;
for(int i = 0; i < n; i++)
{ cout << "A[" << i << "]: ";
cin >> A[i];
}
cout << "\nMassiv B" << endl;
for(int i = 0; i < n; i++)
{ cout << "B[" << i << "]: ";
cin >> B[i]; }
int j = 0;
for(int i = 0; i < n; i++)
{ if(A[i] > B[i])
{ C[i] = B[i];
j++; }
else
{C[i] = A[i]; }
}
cout << "\nMassiv A" << endl;
Vivod(n, A);
cout << "\nMassiv B" << endl;
Vivod(n, B);
cout << "\nMassiv C" << endl;
Vivod(n, C);
cout << "\nElementov iz massiva B " << j << endl;
delete[] A;
delete[] B;
delete[] C;
}
| Программа, которая находит все простые числа от 1 до 10000. Написать функцию, которая определяет, является ли число простым или нет.
#include <iostream>
#include <windows.h>
void getOut(int i);
void findAll();
bool check(int i);
void main()
{
setlocale(LC_ALL,".1251");
findAll();
}
void getOut(int i)
{ printf("%d ", i);}
void findAll()
{ int i;
for(i = 0; i < 10000; i++)
{ if(check(i))
{
getOut(i);
}
}
}
bool check(int i)
{ int k;
int count = 0;
for(k = 1; k < i; k++)
{ if(i % k == 0)
{
count ++;
}
}
if(count == 1)
{ return true; }
return false;
}
|
ВАРИАНТ №37
Даны массивы целых чисел A[N] и B[N]. В массиве A заменить значения элементов, для которых выполняется условие (A[i]+B[i])<10, значениями элементов B[i]. Вывести исходные массивы и полученный массив на экран.
#include <iostream>
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)
{ for(int i = 0; i < n; i++)
{ cout << arr[i] << " "; }
}
void main()
{ int n;
cout << "Razmer: "<<endl;
cin >> n;
int *A = new int[n];
int *B = new int[n];
cout << "Massiv A" << endl;
Vvod(n, A);
cout << "\nMassiv B" << endl;
Vvod(n, B);
cout << "\nMassiv A" << endl;
Vivod(n, A);
cout << "\nMassiv B" << endl;
Vivod(n, B);
for(int i = 0; i < n; i++)
{ if(A[i]+B[i] < 10)
{ A[i] = B[i]; }
}
cout << "\nMassiv A izmenen" << endl;
Vivod(n, A);
cout << endl;
delete[] A;
delete[] B;
}
| Дано целое число. Вычислить произведение четных цифр числа. Результат вывести на экран.
#include <iostream>
#include <windows.h>
int getInput();
int getSum(int num);
void getOut(int out);
void main()
{ setlocale(LC_ALL,".1251");
getOut(getInput());
}
void getOut(int out)
{ printf("%d\n", out);}
int getInput()
{ int num;
puts("Введите число");
scanf("%d", &num);
return getSum(num);
}
int getSum(int num)
{ int sum = 0;
int ciph;
while(num > 0)
{ ciph = num%10;
if(ciph % 2 == 0)
{ sum += ciph; }
num = num / 10;
}
return sum;
}
|
Не нашли, что искали? Воспользуйтесь поиском:
|