Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.О.П / ооп / l_12.ppt
Скачиваний:
54
Добавлен:
30.05.2020
Размер:
781.82 Кб
Скачать

Написати програму, яка обчислюватиме середнє арифметичне послідовності з 10 чисел, без врахування мінімального і максимального елементів (кількість елементів = 8, сума розраховується з 8 елем.)

#include "stdafx.h" #include <iostream> using namespace std; int main()

{setlocale(LC_ALL,"Rus"); int i, mas[10], min,

max; float sr_ar=0, col=0, sum=0; cout<<" Введіть 10 елементів масиву

\n

";

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

{

cin>>mas[i];

}

max=min=mas[0];

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

{

if (mas[i]<min)

{min=mas[i]; } else if (mas[i]>max)

{max=mas[i]; }

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

{

sum+=mas[i];

col++;

}

sum=sum-max-min; sr_ar=sum/(col-2);

cout<<" Мінімальний елемент масива = "<<min<<endl; cout<<" Максимальний елемент

масива = "<<max<<endl; cout<<" Середнє арифметичне введених чисел без

врахування мінімального і

максимального елементів = "<<sr_ar<<endl; system("pause");

return 0;

}

Ввести з клавіатури дійсну матрицю розмірністю 5x5. Визначити:

1)суму позитивних елементів в парних рядках;

2)номери стовпців, що не містять негативних елементів.

const x=5,y=5; int i,j,n;

float sum=0, massiv[x][y];// опис масиву

cout<<" Введіть massiv[5][5]\n";

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

// введення масиву

for(j=0;j<y;j++) cin>>massiv[i][j]; cout<<"massiv[5][5]\n";

for(i=0;i<x;i++) // виведення масиву

{cout<<"\n"; for(j=0;j<y;j++) cout<<'

'<<massiv[i][j];}

for(i=1;i<x;i=i+2) { for(j=0;j<y;j++) {if(massiv[i][j]>0)

{sum=massiv[i][j]+sum;}

}

}

cout<<"\n Summa="<<sum;

for(int j=0;j<y;j++) {n=0;

for(int i=0;i<x;i++) if (massiv[i][j]>0)

{

n++;

if(n==5)

cout<<"\

Стовпець "<<j+1;

}

}

Ввести з клавіатури дійсну матрицю розмірністю 5x5.

Визначити:

1)суму позитивних елементів в непарних рядках;

2)кількість рядків, що не містять жодного нульового елементу;

const x=5,y=5; int i,j,st=0,n;

float sum=0, massiv[x][y]; //описание массива cout<<"Введите massiv[5][5]\n";

for(i=0;i<x;i++) //ввод массива for(j=0;j<y;j++)

cin>>massiv[i][j];

cout<<"massiv[5][5]\n"; for(i=0;i<x;i++) //вывод массива

{cout<<"\n"; for(j=0;j<y;j++) cout<<' '<<massiv[i][j];}

for(i=0;i<x;i=i+2) { for(j=0;j<y;j++)

{if(massiv[i][j]>0)

{sum=massiv[i][j]+sum;}

}

}

cout<<"\n

Summa="<<sum<<'\n';

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

{n=0;

for(int j=0;j<y;j++) if (massiv[i][j]>0)

{

n++;

if(n==5)st++;

}

}

cout<<"\Kol-vo stolb "<<st;

Ввести з клавіатури дійсну матрицю

розмірністю 5x5. Визначити:

1)суму позитивних елементів в парних стовпцях;

2)кількість стовпців, що не містять жодного нульового елементу;

const x=5,y=5; int i,j,st=0,n;

float sum=0, massiv[x][y]; // опис масиву

cout<<" Введіть massiv[5][5]\n"; for(i=0;i<x;i++) //ввод массива

for(j=0;j<y;j++) cin>>massiv[i]

[j];

cout<<"massiv[5][5]\n"; for(i=0;i<x;i++) //вивід масиву {cout<<"\n"; for(j=0;j<y;j++) cout<<' '<<massiv[i][j];}

for(j=1;j<x;j=j+2) { for(i=0;i<y;i++)

{if(massiv[i][j]>0) {sum=massiv[i][j]+sum;}

}

}

cout<<"\n

Summa="<<sum<<'\n';

for(int j=0;j<y;j++) {n=0;

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

if (massiv[i][j]>0 || massiv[i][j]<0)

{

n++;

if(n==5)st++;

}

}

cout<<"\Kol-vo stolb

"<<st;

Ввести з клавіатури дійсну матрицю розмірністю 5x5. Визначити:

1)суму позитивних елементів в непарних стовпцях;

2)кількість стовпців, що містять хоч би один нульовий елемент;

const x=5,y=5; int i,j,n=0;;

float sum=0, massiv[x][y]; //опис масиву

cout<<"Введіть massiv[5][5]\n"; for(i=0;i<x;i++) //введення масиву for(j=0;j<y;j++) cin>>massiv[i][j]; cout<<"massiv[5][5]\n"; for(i=0;i<x;i++) //виведення масиву {cout<<"\n"; for(j=0;j<y;j++) cout<<' '<<massiv[i][j];}

for(j=0;j<x;j=j+2) { for(i=0;i<y;i++) {if(massiv[i][j]>0)

{sum=massiv[i][j]+sum;}

}

}

cout<<"\n

Summa="<<sum<<'\n';

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

{

for(int i=0;i<x;i++) if (massiv[i][j]==0)

{

n++;break;

}

}

cout<<"\Kol-vo stolb

"<<n;

Ввести з клавіатури дійсну матрицю розмірністю

5x5. Визначити:

1)суму від'ємних елементів в парних рядках;

2)добуток елементів в тих рядках, які не містять від'ємних елементів.

const x=5,y=5; int i,j,n=0;

float sum=0, massiv[x][y],st=1; //опис масиву

cout<<"Введите massiv[5][5]\n"; for(i=0;i<x;i++) //введення масиву

for(j=0;j<y;j++) cin>>massiv[i]

[j];

cout<<"massiv[5][5]\n"; for(i=0;i<x;i++) //виведення масив

{cout<<"\n"; for(j=0;j<y;j++) cout<<'

'<<massiv[i][j];}

for(i=1;i<x;i=i+2) { for(j=0;j<y;j++) {if(massiv[i][j]<0)

{sum=massiv[i][j]+sum;}

}

}

cout<<"\n

Summa="<<sum<<'\n';

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

for(int j=0;j<y;j+

+)

if (massiv[i]

[j]>0)

{

n++;

if(n==5)

{for(int

j=0;j<y;j++)

st=massiv[i][j]*st;

}

}

}

cout<<"\Proizv "<<st;

Ввести з клавіатури дійсну матрицю розмірністю 5x5. Визначити:

1)суму негативних елементів в непарних рядках;

2)суму елементів в тих стовпцях, які не містять негативних елементів.

const x=5,y=5; int i,j,n=0;;

float sum=0, massiv[x][y],st=0; //опис

масиву

cout<<"Введіть massiv[5][5]\n"; for(i=0;i<x;i++) //введення масиву

for(j=0;j<y;j++) cin>>massiv[i][j]; cout<<"massiv[5][5]\n";

for(i=0;i<x;i++) //виведення масиву {cout<<"\n"; for(j=0;j<y;j++) cout<<' '<<massiv[i][j];}

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

{ for(j=0;j<y;j++) {if(massiv[i][j]<0)

{sum=massiv[i][j]+sum;}

}

}

cout<<"\n

Summa="<<sum<<'\n';

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

{n=0;

for(int i=0;i<y;i++) if (massiv[i][j]>0)

{

n++;

if(n==5)

{for(int

j=0;j<y;j++)

st=massiv[i]

[j]+st;

}

}

}

cout<<"\Summa "<<st;

Ввести з клавіатури дійсну матрицю розмірністю 5x5. Визначити:

1)суму негативних елементів в парних стовпцях;

2)суму елементів в тих рядках, які містять хоч би один негативний елемент.

const x=5,y=5;

 

 

int i,j;

 

 

float sum=0, massiv[x][y],st=0;

//опис

масиву

 

 

cout<<RUS("Введіть massiv[5][5]\n");

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

//введення масиву

for(j=0;j<y;j++) cin>>massiv[i][j];

cout<<"massiv[5][5]\n";

 

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

//вивід масиву

 

{cout<<"\n"; for(j=0;j<y;j++) cout<<'

'<<massiv[i][j];}

for(j=1;j<x;j=j+2)

{ for(i=0;i<y;i++) {if(massiv[i][j]<0)

{sum=massiv[i][j]+sum;}

}

}

cout<<"\n

Summa="<<sum<<'\n';

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

{

for(int j=0;j<y;j+

+)

if (massiv[i]

[j]<0)

{

for(int

j=0;j<y;j++)

st=massiv[i]

[j]

+st;break;

}

}

Двовимірні масиви.

 

 

Операції над двовимірними масивами

 

 

 

#include <stdlib.h>

 

 

Заповнення випадковими

 

#define n 10

 

числами від 1 до 11 і вивід :

 

#define m 5

 

 

 

main ()

 

 

{static int a[n][m];

 

 

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

 

 

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

{a[i][j] = 1 +rand() % 10;

printf (" %7d %c", a[i][j], (j==m-1)?'\n':' ');

}

_getch();

return 0;

}

Введення значень: int a[10][3]; for (int i=0; i< 10; i++) for( int j=0; j< 3; j++)

cin >> a[i][ j];

Копіювання:

int a[10][3], b[10][3]; for (int i=0; i< 10; i++)

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

a[i][j] = b[i][j];

або

!!! memcpy (a, b, sizeof b);

Двовимірний масив можна представити у вигляді одновимірного, а «двовимірніст» враховувати при зверненні до елементів масиву.

int A[n][m]; (n строк по m елементів).

int array [n*m]; A[i][j] == array[i*m + j];

29

Двовимірні масиви.

 

Операції над двовимірними масивами

Вивід

1. для цілочисельних значень (наприклад, <=5 знаків):

const int n= 10;

 

const int m= 5;

 

main ()

 

{static int a[n][m];

 

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

// цикл по кількості рядків

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

// цикл виведення елементів рядка

cout << setw (8) << a[i][ j];

//5 + знак + 2 пропуску

cout <<endl;

// перехід на новий рядок

}

 

return 0;

}або

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

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

printf ("a[%d][%d] = %d \t%c", i, j, a[i] [j], (j==m-1)? '\n': ' ');

return 0;

}