Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Передача массивов в функцию и обратно




Указатели

Передача значений переменных в функции не позволяет изменить значение исходной переменной. Например:

void f (int a)

{ a = 10; //меняется локальная копия переменной

}...

int k = 0;f(k); //k копируется, после вызова функции значение не изменится

Указатели позволяют решить эту проблему. С их помощью можно экономить ресурсы памяти, изменять передаваемые в функцию в качестве параметров переменные, возвращать из функции несколько значений.

Указатель – специальный тип, являющийся производным от других типов.

Двумерные массивы, действия с ними.

С позволяет создавать многомерные массивы. Простейшим видом многомерного массива является двумерный массив. Двумерный массив - это массив одномерных массивов. Двумерный массив объявляется следующим образом:

тип имя_массива[размер второго измерения][размер первого измерения];

 

Следовательно, для объявления двумерного массива целых с размером 10 на 20 следует написать:

int d[10] [20];

Посмотрим внимательно на это объявление. В противоположность другим компьютерным языкам, где размерности массива отделяются запятой, С помещает каждую размерность в отдельные скобки.

Для доступа к элементу с индексами 3, 5 массива d следует использовать

d[3] [5]

Короче они бывают динамические, статические, в них можно наваливать по сталбцам и строкам. Далее говорить лень, то же самое, но только круче, и то что с одномерными катит, просто два цикла по столбцам и строкам фигачим и все. Фух. Тчк.


ПРАКТИКА

1. сумма элементов массива c++

#include <iostream.h>
int main(){
const int n = 10;
int i,. sum;
int marks[n] = {3, 4, 5, 4, 4};
for (i = 0, sum = 0; i<n; i++) sum += marks[1];
cout << "Сумма элементов: " << sum;
return 0;
}

Среднее значение элементов массива

int N, S;

cout<<"Введите размерность массива: ";

cin>>N;

int *arr = new int[N];

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

{

cout<<endl<<"Введите "<<i<<" элемент массива: ";

cin>>arr[i];

S+=arr[i];

}

cout<<"Среднее арифметическое массива = "<<S/N<<endl;

delete [] arr;

system("pause");

return 0;

Нахождение максимального или минимального элемента массива

#include <iostream>

#include <ctime>

 

using namespace std;

 

int main()

{

int min =0;

int max =0;

srand(time(NULL));

int n = 0;

int sum = 0;

cin >> n; // Считываем с клавиатуры n

int **a = new int* [n]; // Создаем массив указателей

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

{

a[i] = new int [n]; // Создаем элементы

}

// А дальше работа как с обычным массивом.

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

{

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

{

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

cout << a[i][j] << " "; // Вывести элементы на консольку

}

cout << endl; // Двумерный массив. Строка кончилась, переводим строку и на консоли

}

// Считаем минимальный и максимальный

min = a[0][0];// берем самый первый элемент массива и считаем, что он минимальный.

max = a[0][0];// и он же максимальный.

 

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

{

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

{

if (a[i][j] < min) min = a[i][j];

if (a[i][j] > max) max = a[i][j];

}

}

cout << "min = " << min << endl << "max = " << max << endl;

// Удаление массива

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

{

delete[]a[i]; // Удаляем каждый элемент

}

delete [] a; // А потом массив

return 0;

}

Нахождение номера максимального или минимального элемента массива

#include <iostream>using namespace std; int main(){ //резервируем область памяти для массива dat и переменных i, nommin int dat [5],i,nommin;dat[1]=3;dat[2]=4;dat[3]=5;dat[4]=7;dat[5]=9; //в переменную nommin помещаем индекс первого элемента массива nommin=1; //цикл со счетчиком i для перебора всех элементов массива for (i=2;i<=5;i++){ //если значение элемента массива меньше значения, хранящегося в элементе с номером nommin,//то в nommin помещаем значения индекса (номер) элемента if (dat[i]<dat[nommin]){nommin=i;}} //вывод nommin за пределами цикла cout << "index minimalnogo chisla massiva = "<< nommin; }

Вычисление суммы ряда не превышающего данное значение

 

Число четное или простое

7.число сомножителей числа





Поделиться с друзьями:


Дата добавления: 2015-11-23; Мы поможем в написании ваших работ!; просмотров: 568 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент может не знать в двух случаях: не знал, или забыл. © Неизвестно
==> читать все изречения...

2754 - | 2314 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.