Читайте также:
|
|
Двумерные массивы
В багатовимірному масиві matr розміром 5*6 знайти суму елементів кожного рядка. Отриманий масив відсортувати по зростанню.
#include <iostream.h>
#include <conio.h>
void main()
{int i,j,sum,stk;
int matr[5][6], mas[5];
cout<<"Input matr\n";
// Введення масиву
for(i=0; i<5; i++)
for(j=0; j<6; j++) cin>> *(*(matr+i)+j);
/ / знайти суму елементів кожного рядка.
for(i=0; i<5; i++)
{sum=0;
for(j=0; j<6; j++)
sum+=*(*(matr+i)+j); *(mas+i)=sum;}
cout<< "Result mas\n";
for(i=0; i<5; i++)
cout<< *(mas+i)<<" "; cout<<endl;
// Сортування вектора mas за зростанням
for(i=1; i < 5; i++)
for(j=0; j < 4-i; j ++)
if (*(mas+j)> *(mas+j+1))
{stk=*(mas+j); *(mas+j)= *(mas+j+1); *(mas+j+1)=stk;}
// Виведення відсортованолго масиву
cout<< "Result otsortirov mas\n";
for(i=0; i<5; i++)
cout<< *(mas+i)<<" "; cout<<endl;
getch(); }
Створити динамічний масив з n рядків та m стовпців (значення n та m ввести с клавіатури). Знайти суму парних елементів масиву.
#include <iostream.h>
void main()
{ int n,m,i;
int **mas;
cout<<"Vveditе kilkist rjadkiv (n) i stovbciv (m)"<<endl;
cin>>n>>m;
//створюємо динамічний масив
mas=new int*[n]; //створюємо масив покажчиків
for(i=0;i<n;i++)
mas[i]=new int[m];
cout<<"Vvedit elementi masiva"<<endl;
for(i=0;i<n;i++)
for(int j=0;j<m;j++) cin>>mas[i][j];
for(i=0;i<n;i++,cout<<endl)
for(int j=0;j<m;j++)
cout<<mas[i][j]<<"\t";
int sum(0);
for(i=0;i<n;i++)
for(int j=0;j<m;j++)
if(mas[i][j]%2==0) sum+=mas[i][j];
cout<<" sum== "<<sum<<endl;
// вивільнюємо пам’ять
for(i=0;i<n;i++)
delete[]mas[i];//вивільнюємо рядки
delete []mas; //вивільнюємо масив покажчиків
cin>>i;
}
Найти количество четных элементов, стоящих выше главной диагонали.
# include <iostream.h> //подключение библиотеки
void main (){ //главная функция программы
const n=5;
int mas [n] [n]; //двумерный массив n на n
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
cin >> mas [i] [j]; //ввод массива с клавиатуры
int x (0);
for (int i = 0; i < n-1; i++) //пробегаем элементы, стоящие выше главной диагонали
for (int j = 0; j < n; j++)
if (mas [i] [j] % 2) //проверка элементов на четность
x+= mas [i] [j]; //включен счетчик
cout << x << endl; //вывод результата на экран
cin.get ();
cin.get();
cin.get();
}
Задать двумерный массив. Посчитать сумму элементов главной диагонали.
# include <iostream.h> //подключение библиотеки
void main (){ //главная функция программы
const n=5;
int mas [n] [n]; //двумерный массив n на n
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
cin >> mas [i] [j]; //ввод массива с клавиатуры
int S (0);
for (int i = 0; i < n; i++)
S+=mas [i] [i]; //подсчет суммы элементов главной диагонали
cout << S << endl; //вывод результата на экран
cin.get ();
cin.get();
}
Из статического трехмерного массива переписать все четные отрицательные элементы в одномерный динамический массив.
#include <iostream.h> //подключение библиотек
void main () { //главная функция программы
const x=2,y=2,z=2;
int mas [x][y][z],a(0); //трехмерный целочисленный массив x на y на z
for (int i=0;i<x;i++)
for (int j=0;j<y;j++)
for (int k=0;k<z;k++)
{cin>>mas[i][j][k]; //ввод массива с клавиатуры
if (mas [i][j][k]<0&&mas[i][j][k]%2==0) //условие: если элемент массива отрицательный четный
a++; //включение счетчика
}
int b(0);
int * p=new int [a]; //создание одномерного динамического массива
for (int i=0;i<x;i++)
for (int j=0;j<y;j++)
for (int k=0;k<z;k++)
if (mas [i][j][k]<0&&mas[i][j][k]%2==0) //условие: если элемент массива отрицательный четный
{ p[b]=mas [i][j][k]; //записать необходимый элемент в одномерный массив
b++;
}
for (int i=0;i<a;i++)
cout << p[i]<<" "; //вывод на экран полученного массива
delete [] p; //удаление динамического массива
cin.get();
cin.get();
}
Дата добавления: 2015-04-26; просмотров: 136 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Дао программиста | | | Варіанти індивідуальних завдань |