Главная
Популярная публикация
Научная публикация
Случайная публикация
Обратная связь
ТОР 5 статей:
Методические подходы к анализу финансового состояния предприятия
Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века
Ценовые и неценовые факторы
Характеристика шлифовальных кругов и ее маркировка
Служебные части речи. Предлог. Союз. Частицы
КАТЕГОРИИ:
|
1 страница. ВАРИАНТ №1
Дана матрица вещественных чисел А[N][M]
ВАРИАНТ №1
Дана матрица вещественных чисел А[N][M]. Выполнить транспонирование матрицы относительно главной диагонали. Вывести на экран исходную и транспонированную матрицы.
#include <iostream>
#define SIZE 100
using namespace std;
void Vvod(int n, double arr[][SIZE])
{for(int i=0; i<n; ++i)
{for(int j=0; j<n; ++j)
{cout << "[" << i << "][" << j << "]: ";
cin >> arr[i][j];
}
}
}
void Vivod(int n, double arr[][SIZE])
{ for(int i=0; i<n; ++i)
{ for(int j=0; j<n; j++)
{ cout << arr[i][j] << " ";}
cout << endl;
}
cout << endl;
}
void main()
{ double A[SIZE][SIZE];
int n;
cout << "SIZE: ";
cin >> n;
if(n>100 || n<=0)
{ cout << "Error size" << endl;
system("pause");
return;
}
cout << "Matrix A" << endl;
Vvod(n, A);
cout << "\nMatrix A" << endl;
Vivod(n, A);
for(int i=0; i<n;++i)
{for(int j=0; j<i; j++)
{ double buf = A[i][j];
A[i][j] = A[j][i];
A[j][i] = buf;
}
}
cout << "\nTranponent matrix A" << endl;
Vivod(n, A);
}
| Дан массив натуральных чисел Х[N]. Для каждого элемента массива вычислить сумму чисел от 1 до Х[i] и вывести результат на экран.
#include <iostream>
using namespace std;
void Vvod(int n, int *arr)
{for(int i = 0; i < n; i++)
{cout << "Vvedite element massiva arr[" << i << "]: ";
cin >> arr[i];
}
}
int Summa(int a)
{ int summa = 0;
for(int i = 1; i <= a; i++)
{ summa += i; }
return summa;
}
void Vivod(int n, int *arr)
{ cout << "Massiv: ";
for(int i = 0; i < n; i++)
{cout << arr[i] << " "; }
cout << endl;
}
void main()
{int n;
cout << "Vvedite razmer massiva: ";
cin >> n;
if(n<1)
{cout << "Neverny razmer massiva." << endl;
system("pause");
return;
}
int *arr = new int[n];
if(!arr)
{cout << "Oshibka sozdaniya massiva." << endl;
system("pause");
return;
}
Vvod(n, arr);
Vivod(n, arr);
for(int i = 0; i < n; i++)
{ cout << "Summa arr[" << i << "] = " << arr[i] << " ravna " << Summa(arr[i]) << endl;
}
delete [] arr;
}
|
ВАРИАНТ №2
Отсортировать по убыванию i-ую строку матрицы действительных чисел X[M][N]. Число 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: ";
cin >> n;
cout << "COL: ";
cin >> m;
if(n > 100 || n <= 0 || m > 100 || m <= 0)
{ cout << "Error size" << endl;
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;
if(I > n || I < 0)
{ cout << "Error " << endl;
system("pause");
return;
}
for(int K=1; K<m;++K)
for (int j=0; j<m-K; j++)
{if(A[I][j] < A[I][j+1])
{ double buf = A[I][j];
A[I][j] = A[I][j+1];
A[I][j+1] = buf;
}
}
cout << "\nMassiv A" << endl;
Vivod(n, m, A);
}
| Дан массив целых чисел А[N]. Все нечетные и положительные элементы массива уменьшить на 5 и вывести результат на экран.
#include <iostream>
using namespace std;
void Vvod(int n, int *arr)
{ cout << "Massiv" << endl;
for(int i = 0; i < n; 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)
{ for(int i = 0; i < n; i++)
{ if(arr[i]%2!= 0 || arr[i] > 0)
{
arr[i] -= 5;
}
}
}
void main()
{
int n;
cout << "Razmer massiva: ";
cin >> n;
if(n<1)
{ cout << "Neverny razmer massiva." << endl;
system("pause");
return;
}
int *arr = new int[n];
if(!arr)
{cout << "Oshibka sozdaniya massiva." << endl;
system("pause");
return;
}
Vvod(n,arr);
Vivod(n, arr);
Func(n, arr);
Vivod(n, arr);
delete[] arr;
}
|
ВАРИАНТ №3
Дана матрица вещественных чисел A[N][M]. Сформировать массив Y[K] из положительных элементов матрицы
#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 Vivod(int n, double *arr)
{ for(int i = 0; i < n; ++i){
cout << arr[i] << " "; }
cout<<endl;
}
void main(){
double A [SIZE][SIZE], Y[SIZE];
int n,m, N=0;
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);
for(int i = 0; i < n; ++i){
for(int j = 0; j < m; ++j){
if(A[i][j] > 0){
Y[N++]=A[i][j];
}
} cout<<endl;
}
cout << "\nMassiv Y" << endl;
Vivod(N, Y);
cout << endl;
}
| Ввести символьную строку. Посчитать количество слов в строке. Причем необходимо учесть, что строка может начинаться и заканчиваться пробелами, а также между словами могут быть несколько пробелов.
#include <stdio.h>
#include <iostream>
int getNum(char*);
void main()
{
setlocale(LC_ALL, "Russian");
char str[100];
puts("Введите несколько слов:");
gets(str);
printf("Количество слов: %d\n", getNum(str));
}
int getNum(char* str)
{
int i=0, k=0;
while(str[i]==' ')
{
++i;
}
for(i; i<strlen(str)-1; ++i)
{
if(str[i]==' ')
{
++k;
if(str[i+1]==' ')
--k;
}
}
return k+1;
}
|
ВАРИАНТ №4
Дана матрица вещественных чисел A[M][N]. Сформировать массив Y[K] из отрицательных элементов матрицы, просматривая матрицу по строкам.
#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 Vivod(int n, double *arr)
{ for(int i = 0; i < n; ++i){
cout << arr[i] << " "; }
cout<<endl;
}
void main(){
double A [SIZE][SIZE], Y[SIZE];
int n,m, N=0;
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);
for(int i = 0; i < n; ++i){
for(int j = 0; j < m; ++j){
if(A[i][j] < 0){
Y[N++]=A[i][j];
}
}
cout<<endl;
}
cout << "\nMassiv Y" << endl;
Vivod(N, Y);
cout << endl;
}
| Организовать ввод целых чисел с клавиатуры. Вычислить среднее значение чисел, которые делятся на 5 без остатка. При вводе числа 0 результат вывести на экран. Массив не использовать.
#include <iostream>
#include <windows.h>
int getInput();
int getNumber();
void getOut();
int sum = 0;
int count = 0;
void main()
{
setlocale(LC_ALL,".1251");
while(getInput()!= -1)
{
}
getOut();
}
void getOut()
{ printf("\nСреднее значение делящихся на 5 без остатка чисел:\n%d\n", sum/count);
}
int getInput()
{
int num;
puts("Введите число");
num = getNumber();
if(num!= -1)
{
sum += num;
}
return num;
}
int getNumber()
{ int num = 0;
scanf("%d", &num);
if(num == 0)
{
return -1;
}
if(num % 5 == 0)
{ count++;
return num;
}
else
{
return 0;
}
}
|
ВАРИАНТ №5
Дана матрица целых чисел A[N][M]. Сформировать массив Y[K] из отрицательных четных элементов матрицы, просматривая матрицу по столбцам.
#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 Vivod(int n, int *arr)
{ for(int i = 0; i < n; ++i){
cout << arr[i] << " "; }
cout<<endl;
}
void main(){
int A [SIZE][SIZE], Y[SIZE];
int n,m, N=0;
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);
for(int j = 0; j < m; ++j)
for(int i = 0; i < n; ++i){
{
if(A[i][j] %2 == 0 && A[i][j] < 0){
Y[N++]=A[i][j];
} }
cout<<endl;
}
cout << "\nMassiv Y" << endl;
Vivod(N, Y);
cout << endl;
}
| Последовательность ряда Фибоначчи определяется следующим образом: F0=0, F1= 1, Fn=F n-2+F n-1, n=2,3,4,…Ввести число и определить является оно числом из ряда Фибоначчи. Программа должна содержать рекурсивную функцию.
#include <iostream>
#include <windows.h>
void getInput();
int f(int n);
void getOut(bool res);
bool check(int n);
void main()
{
setlocale(LC_ALL,".1251");
getInput();
}
void getInput()
{ int n = 0;
puts("Введите число: ");
scanf("%d", &n);
getOut(check(n));
}
bool check(int n)
{
int i, c = 0;
for(i = 0; c <= n; i++)
{
c = f(i);
if(c == n)
{ return true; }
}
return false;
}
void getOut(bool res)
{ if(res == true)
{ printf("Yes!"); }
else
{ printf("No!"); }
}
int f(int n)
{
if(n == 0)
{ return 0; }
else if(n == 1)
{ return 1; }
else
{
return f(n-1) + f(n-2);
}
}
|
ВАРИАНТ №6
Дана матрица вещественных чисел A[N][M]. Сформировать матрицу B[N][M], поместив на место первой строки строку с максимальным по модулю первым элементом.
#include <iostream>
#include <math.h>
void inputA(double **a, int n, int m){ puts("Введите элементы матрицы А:");
for(int i=0; i<n; ++i)
for(int j=0; j<m; ++j)
scanf("%lf", &a[i][j]);
}
void outputArr(double **a, int n, int m){ for(int i=0; i<n; ++i){
for(int j=0; j<m; ++j)
printf("%lf ", a[i][j]);
printf("\n"); }}
int RowIndexMax(double **a, int n, int m){ double max=fabs(a[0][0]);
int index=0;
for(int i=1; i<n; ++i){
if(fabs(a[i][0])>max)
{ max=fabs(a[i][0]);
index=i;}
}return index;
}
void Transform(double **a,double**b,int n, int m)
{ int index=RowIndexMax(a,n,m);
//переписываем в b матрицу а
for(int i=0; i<n; ++i){
for(int j=0; j<m; ++j)
b[i][j]=a[i][j];
}
//выносим строку с максимальным первым элементом на первое место, остальные сдвигаем
double buf;
for(int j=0; j<m; ++j){
buf=b[index][j];
int k=index;
while(k>0){
b[k][j]=b[k-1][j];
--k; }
b[0][j]=buf;
}
}
void main()
{setlocale(LC_ALL, "Russian");
double **A, **B;
int n, m;
puts("Введите количество строк:");
scanf("%d", &n);
puts("Введите количество столбцов:");
scanf("%d", &m);
A=new double*[n]; B=new double*[n];
for(int i=0; i<n; ++i){
A[i]=new double[m]; B[i]=new double[m];}
inputA(A, n, m); Transform(A,B,n,m);
puts("Матрица А:"); outputArr(A,n,m);
puts("Матрица В:"); outputArr(B,n,m);
//удаление матриц
for(int i=0; i<n; ++i)
{delete [] A[i];delete [] B[i];}
delete [] A; delete [] B;}
| Дан массив целых чисел A[N], содержащий цены на товар в различных магазинах. Определить минимальную, максимальную и среднюю цену на данный товар в различных магазинах. Результаты вывести на экран.
#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];
cout << "Massiv cen" << endl;
Vvod(n, A);
int max = A[0];
int min = A[0];
int sredn = 0;
for(int i = 0; i < n; i++)
{
if(A[i] > max)
{
max = A[i];
}
if(A[i] < min)
{
min = A[i];
}
sredn += A[i];
}
sredn = sredn/n;
cout << "\nMassiv A" << endl;
Vivod(n, A);
cout << "\nMax: " << max << "; Min: " << min << "; Srednyaya cena: " << sredn << endl;
delete[] A;
}
|
ВАРИАНТ №7
Дана матрица вещественных чисел A[N][M]. Сформировать матрицу B[N][M], поместив на место первой строки и первого столбца те, на пересечении которых находится максимальный по модулю элемент.
#include <iostream>
#include <math.h>
void inputA(double **a, int n, int m){
puts("Введите элементы матрицы А:");
for(int i=0; i<n; ++i)
for(int j=0; j<m; ++j)
scanf("%lf", &a[i][j]);}
void outputArr(double **a, int n, int m){
for(int i=0; i<n; ++i){
for(int j=0; j<m; ++j)
printf("%lf\t", a[i][j]);
printf("\n");}}
void IndexMax(double **a, int n, int m, int &i_max, int &j_max){
double max=fabs(a[0][0]);
i_max=0;j_max=0;
for(int i=1; i<n; ++i){
for(int j=1; j<m; ++j)
if(fabs(a[i][j])>max){
max=fabs(a[i][j]);
i_max=i;j_max=j;} }}
void Transform(double **a, double **b, int n, int m) { int indexR, indexC;
IndexMax(a,n,m, indexR, indexC);
//переписываем в b матрицу а
for(int i=0; i<n; ++i){
for(int j=0; j<m; ++j){b[i][j]=a[i][j];} }
//выносим на первое место, сдвигаем
double buf;
for(int j=0; j<m; ++j){
buf=b[indexR][j];int k=indexR;
while(k>0){ b[k][j]=b[k-1][j]; --k;}
b[0][j]=buf;}
//выносим столбец вперед, сдвигаем
for(int i=0; i<n; ++i){ buf=b[i][indexC];
int k=indexC;
while(k>0){ b[i][k]=b[i][k-1]; --k;}
b[i][0]=buf;}}
void main(){
setlocale(LC_ALL, "Russian");
double **A, **B; int n, m;
puts("Кол-во строк:"); scanf("%d",&n);
puts("Кол-во столбцов:"); scanf("%d", &m);
if(n<=0||m<=0){puts("Ошибка!!!");system("pause");
return;}
A=new double*[n];B=new double*[n];
for(int i=0; i<n; ++i){
A[i]=new double[m];B[i]=new double[m];}
inputA(A, n, m);
Transform(A, B, n, m);
puts("Матрица А:");outputArr(A, n, m);
puts("Матрица В:");outputArr(B, n, m);
//удаление матриц
for(int i=0; i<n; ++i)
{
delete [] A[i];
delete [] B[i];
}
delete [] A;
delete [] B;
}
| Дан массив действительных чисел 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;
}
|
ВАРИАНТ №8
Дана матрица целых чисел A[M][N]. Отсортировать элементы каждой строки матрицы в порядке возрастания. Полученную матрицу вывести на экран.
#include <iostream>
#include <math.h>
#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 sort(int n, int m, int arr[][SIZE], int row)
{ for(int i = 1; i < m; ++i){
for(int j = 0; j < m-i; ++j){
if(arr[row][j] > arr[row][j + 1 ])
{
int buf =arr[row][j]; arr[row][j] = arr[row][j + 1 ];
arr[row][j + 1] = buf;
} }}}
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, i_max=0, j_max=0;
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);
for(int i = 0; i < n; ++i)
sort (n,m,A,i);
cout << "\n\nMassiv B" << 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;
}
|
ВАРИАНТ №9
Дана матрица вещественных чисел A[M][N]. Отсортировать элементы каждой строки матрицы в порядке убывания. Полученную матрицу вывести на экран.
#include <iostream>
#include <math.h>
#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 sort(int n, int m, double arr[][SIZE], int row)
{ for(int i = 1; i < m; ++i)
{for(int j = 0; j < m-i; ++j){
if(arr[row][j] > arr[row][j + 1 ])
{ double buf =arr[row][j];
arr[row][j] = arr[row][j + 1 ];
arr[row][j + 1] = buf;
} }}
}
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);
for(int i = 0; i < n; ++i) sort (n,m,A,i);
cout << "\n\nMassiv B" << endl;
Vivod(n,m, A);
cout << endl;}
| Дан массив целых чисел A[N]. Все положительные элементы заменить нулями. Полученный массив вывести на экран.
#include <iostream>
using namespace std;
void main()
{
int n;
cout << "Razmer:" << endl;
cin >> n;
int *arr = new int[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] << " ";
}
cout << endl;
for(int i = 0; i < n; i++)
{
if(arr[i] > 0)
{
arr[i] = 0;
}
}
cout << "Massiv preobrazovan!" << endl;
for(int i = 0; i < n; i++)
{
cout << arr[i] << " ";
}
delete[] arr;
}
|
ВАРИАНТ №10
Дана матрица целых чисел A[M][N]. Отсортировать элементы каждого столбца матрицы в порядке возрастания. Полученную матрицу вывести на экран.
#include <iostream>
#include <math.h>
#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 sort(int n, int m, int arr[][SIZE], int col)
{ for(int i = 1; i < n; ++i)
{ for(int j = 0; j < n-i; ++j){
if(arr[j][col] > arr[j+1][col])
{ int buf = arr[j][col];
arr[j][col] = arr[j+1][col]; arr[j+1][col] = buf;
} } }
}
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);
for(int j = 0; j < m; ++j) sort (n,m,A,j);
cout << "\n\nMassiv B" << endl;
Vivod(n,m, A);
cout << endl;
}
| Дан массив действительных чисел A[M]. Найти среди них максимальное и минимальное число. Вычислить их средне геометрическое и вывести это значение на экран.
#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 ";
for(int i = 0; i < n; i++)
{
cout << arr[i] << " ";
}
cout << endl;
double max = arr[0];
double min = arr[0];
double summa = 0.0;
for(int i = 0; i < n; i++)
{
if(arr[i] > max)
{
max = arr[i];
}
else if(arr[i] < min)
{
min = arr[i];
}
}
summa = sqrt(fabs(min)*fabs(max));
cout << "Srednee geometricheskoe min i max = " << summa << endl;
delete[] arr;
}
|
ВАРИАНТ №11
Дана матрица вещественных чисел A[M][N]. Отсортировать элементы каждого столбца матрицы в порядке убывания. Полученную матрицу вывести на экран
#include <iostream>
#include <math.h>
#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 sort(int n, int m, double arr[][SIZE], int col)
{ for(int i = 1; i < n; ++i)
{ for(int j = 0; j < n-i; ++j){
if(arr[j][col] < arr[j+1][col])
{ double buf = arr[j][col];
arr[j][col] = arr[j+1][col];
arr[j+1][col] = buf;
} }}
}
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);
for(int j = 0; j < m; ++j) sort (n,m,A,j);
cout << "\n\nMassiv B" << 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;
}
|
Не нашли, что искали? Воспользуйтесь поиском:
|