🗊Презентация Подпрограммы. Определение функции, фактические и формальные параметры функции

Нажмите для полного просмотра!
Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №1Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №2Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №3Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №4Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №5Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №6Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №7Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №8Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №9Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №10Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №11Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №12Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №13Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №14Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №15Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №16Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №17Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №18Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №19Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №20Подпрограммы. Определение функции, фактические и формальные параметры функции, слайд №21

Содержание

Вы можете ознакомиться и скачать презентацию на тему Подпрограммы. Определение функции, фактические и формальные параметры функции. Доклад-сообщение содержит 21 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Подпрограммы
Описание слайда:
Подпрограммы

Слайд 2





Определение функции, фактические и формальные параметры функции
Функция - это совокупность объявлений и операторов, предназначенная для решения определенной задачи. Любая программа на С++ состоит из функций, одна из которых должна иметь имя main (с нее начинается выполнение программы). 
Функция начинает выполняться в момент вызова. Любая функция должна быть объявлена и определена. Объявление функции должно находиться в тексте раньше ее вызова для того, чтобы компилятор мог осуществить проверку правильности вызова.
Объявление функции (прототип, заголовок, сигнатура) задает ее имя, тип возвращаемого значения и список передаваемых параметров. 
Определение функции содержит, кроме объявления, тело функции, представляющее собой последовательность операторов и описаний в фигурных скобках:
[ класс ] тип имя ([ список_параметров ])[throw ( исключения )]{ тело функции }
Описание слайда:
Определение функции, фактические и формальные параметры функции Функция - это совокупность объявлений и операторов, предназначенная для решения определенной задачи. Любая программа на С++ состоит из функций, одна из которых должна иметь имя main (с нее начинается выполнение программы). Функция начинает выполняться в момент вызова. Любая функция должна быть объявлена и определена. Объявление функции должно находиться в тексте раньше ее вызова для того, чтобы компилятор мог осуществить проверку правильности вызова. Объявление функции (прототип, заголовок, сигнатура) задает ее имя, тип возвращаемого значения и список передаваемых параметров. Определение функции содержит, кроме объявления, тело функции, представляющее собой последовательность операторов и описаний в фигурных скобках: [ класс ] тип имя ([ список_параметров ])[throw ( исключения )]{ тело функции }

Слайд 3





Определение функции, фактические и формальные параметры функции
С помощью необязательного модификатора класс можно явно задать область видимости функции, используя ключевые слова extern и static: 
extern – глобальная видимость во всех модулях программы (по умолчанию); 
static – видимость только в пределах модуля, в котором определена функция. 
Тип возвращаемого функцией значения может быть любым, кроме массива и функции (но может быть указателем на массив или функцию). Если функция не должна возвращать значение, указывается тип void.
Список параметров определяет величины, которые требуется передать в функцию при ее вызове. Элементы списка параметров разделяются запятыми. Для каждого параметра, передаваемого в функцию, указывается его тип и имя (в объявлении имена можно опускать).
Описание слайда:
Определение функции, фактические и формальные параметры функции С помощью необязательного модификатора класс можно явно задать область видимости функции, используя ключевые слова extern и static: extern – глобальная видимость во всех модулях программы (по умолчанию); static – видимость только в пределах модуля, в котором определена функция. Тип возвращаемого функцией значения может быть любым, кроме массива и функции (но может быть указателем на массив или функцию). Если функция не должна возвращать значение, указывается тип void. Список параметров определяет величины, которые требуется передать в функцию при ее вызове. Элементы списка параметров разделяются запятыми. Для каждого параметра, передаваемого в функцию, указывается его тип и имя (в объявлении имена можно опускать).

Слайд 4





Список формальных параметров - это последовательность объявлений формальных параметров, разделенная запятыми. Формальные параметры - это переменные, используемые внутри тела функции и получающие значение при вызове функции путем копирования в них значений соответствующих фактических параметров. 
Список формальных параметров - это последовательность объявлений формальных параметров, разделенная запятыми. Формальные параметры - это переменные, используемые внутри тела функции и получающие значение при вызове функции путем копирования в них значений соответствующих фактических параметров. 
Если функция не использует параметров, то наличие круглых скобок обязательно, а вместо списка параметров рекомендуется указать слово void. 
В определении, в объявлении и при вызове одной и той же функции типы и порядок следования параметров должны совпадать.
На имена параметров ограничений по соответствию не накладывается.
Параметры функции передаются по значению и могут рассматриваться как локальные переменные, для которых выделяется память при вызове функции и производится инициализация значениями фактических параметров. При выходе из функции значения этих переменных теряются. Поскольку передача параметров происходит по значению, в теле функции нельзя изменить значения этих переменных в вызывающей функции, являющихся фактическими параметрами. Однако, если в качестве параметра передать указатель на некоторую переменную, то используя операцию разадресации можно изменить значение этой переменной. 
Тип возвращаемого значения и типы параметров совместно определяют тип функции.
Для вызова функции в простейшем случае нужно указать ее имя, за которым в круглых скобках через запятую перечисляются имена передаваемых аргументов. 
Вызов функции может находиться в любом месте программы, где по синтаксису допустимо выражение того типа, который формирует функция. Если тип возвращаемого функцией значения не void, она может входить в состав выражений или, в частном случае, располагаться в правой части оператора присваивания.
Описание слайда:
Список формальных параметров - это последовательность объявлений формальных параметров, разделенная запятыми. Формальные параметры - это переменные, используемые внутри тела функции и получающие значение при вызове функции путем копирования в них значений соответствующих фактических параметров. Список формальных параметров - это последовательность объявлений формальных параметров, разделенная запятыми. Формальные параметры - это переменные, используемые внутри тела функции и получающие значение при вызове функции путем копирования в них значений соответствующих фактических параметров. Если функция не использует параметров, то наличие круглых скобок обязательно, а вместо списка параметров рекомендуется указать слово void. В определении, в объявлении и при вызове одной и той же функции типы и порядок следования параметров должны совпадать. На имена параметров ограничений по соответствию не накладывается. Параметры функции передаются по значению и могут рассматриваться как локальные переменные, для которых выделяется память при вызове функции и производится инициализация значениями фактических параметров. При выходе из функции значения этих переменных теряются. Поскольку передача параметров происходит по значению, в теле функции нельзя изменить значения этих переменных в вызывающей функции, являющихся фактическими параметрами. Однако, если в качестве параметра передать указатель на некоторую переменную, то используя операцию разадресации можно изменить значение этой переменной. Тип возвращаемого значения и типы параметров совместно определяют тип функции. Для вызова функции в простейшем случае нужно указать ее имя, за которым в круглых скобках через запятую перечисляются имена передаваемых аргументов. Вызов функции может находиться в любом месте программы, где по синтаксису допустимо выражение того типа, который формирует функция. Если тип возвращаемого функцией значения не void, она может входить в состав выражений или, в частном случае, располагаться в правой части оператора присваивания.

Слайд 5





Найти сумму 5-ти факториалов
#include <iostream>
using namespace std;
int fact(int);//обяъвление ф-ции
int main()
{
int s = 0, n,x;
for (int i = 1; i <= 5; i++)
{cout << "Input chislo: ";
cin >> n;
x = fact(n);
cout << "factorial " << n <<"="<<x <<endl;
s += x;
}
cout << "Summa factorialov= " << s << endl;
system("pause");
return 0;
}
//функция
int fact(int n)
{
int i, p = 1;
for (i = 1; i <= n; i++) p *= i;
return p;
}
Описание слайда:
Найти сумму 5-ти факториалов #include <iostream> using namespace std; int fact(int);//обяъвление ф-ции int main() { int s = 0, n,x; for (int i = 1; i <= 5; i++) {cout << "Input chislo: "; cin >> n; x = fact(n); cout << "factorial " << n <<"="<<x <<endl; s += x; } cout << "Summa factorialov= " << s << endl; system("pause"); return 0; } //функция int fact(int n) { int i, p = 1; for (i = 1; i <= n; i++) p *= i; return p; }

Слайд 6





Найти число сочетаний из n по  k
#include <iostream>
using namespace std; 
int fact (int);
int main ()
      {
          int n,k;
          cout<<"vvod n i k ";
		  cin>>n>>k;
          cout<<fact(n)/(fact(k)*fact(n-k))<<endl;
		  system("pause");
          return 0;
      }
 //подпрограмма
int fact (int n)
{
    int i,p=1;
    for (i=1;i<=n;i++) p*=i;
   	return p;
}
Описание слайда:
Найти число сочетаний из n по k #include <iostream> using namespace std; int fact (int); int main () { int n,k; cout<<"vvod n i k "; cin>>n>>k; cout<<fact(n)/(fact(k)*fact(n-k))<<endl; system("pause"); return 0; } //подпрограмма int fact (int n) { int i,p=1; for (i=1;i<=n;i++) p*=i; return p; }

Слайд 7





Статические одномерные массивы
Массив – это упорядоченный набор элементов одного типа.
Для того чтобы объявить массив и проинициализировать его данными элементами, мы должны написать следующую инструкцию С++:
int fibon[9] = { 0, 1, 1, 2, 3, 5, 8, 13, 21 };
Здесь fibon – это имя массива. 
Элементы массива имеют тип int, размер (длина) массива равна 9. Значение первого элемента – 0, последнего – 21. 
Для работы с массивом мы индексируем (нумеруем) его элементы, а доступ к ним осуществляется с помощью операции взятия индекса.
Описание слайда:
Статические одномерные массивы Массив – это упорядоченный набор элементов одного типа. Для того чтобы объявить массив и проинициализировать его данными элементами, мы должны написать следующую инструкцию С++: int fibon[9] = { 0, 1, 1, 2, 3, 5, 8, 13, 21 }; Здесь fibon – это имя массива. Элементы массива имеют тип int, размер (длина) массива равна 9. Значение первого элемента – 0, последнего – 21. Для работы с массивом мы индексируем (нумеруем) его элементы, а доступ к ним осуществляется с помощью операции взятия индекса.

Слайд 8





Статические одномерные массивы
Для обращения к первому элементу массива естественно написать:
int first_elem = fibon[1];
Однако это не совсем правильно: в С/С++ индексация массивов начинается с 0, поэтому элемент с индексом 1 на самом деле является вторым элементом массива, а индекс первого равен 0.
Чтобы обратиться к последнему элементу массива, мы должны вычесть единицу из размера массива:
fibon[0]; // первый элемент
fibon[1]; // второй элемент
...
fibon[8]; // последний элемент
fibon[9]; // ... ошибка
Девять элементов массива fibon имеют индексы от 0 до 8.
Описание слайда:
Статические одномерные массивы Для обращения к первому элементу массива естественно написать: int first_elem = fibon[1]; Однако это не совсем правильно: в С/С++ индексация массивов начинается с 0, поэтому элемент с индексом 1 на самом деле является вторым элементом массива, а индекс первого равен 0. Чтобы обратиться к последнему элементу массива, мы должны вычесть единицу из размера массива: fibon[0]; // первый элемент fibon[1]; // второй элемент ... fibon[8]; // последний элемент fibon[9]; // ... ошибка Девять элементов массива fibon имеют индексы от 0 до 8.

Слайд 9





Инициализируем массив из десяти элементов числами от 0 до 9 и затем напечатать их в обратном порядке:
#include <iostream>
using namespace std; 
 void main()
{int ia[10];
 int index;
 cout << "isxodnyi massiv"<< endl;
for (index=0; index<10; ++index) // ia[0] = 0, ia[1] = 1 и т.д.
{ia[index] = index;
cout << ia[index] << " ";}
 cout <<endl<< "rezultat"<< endl;
for (index=9; index>=0; --index)
cout << ia[index] << " ";
cout << endl;
    system("pause");
}
Описание слайда:
Инициализируем массив из десяти элементов числами от 0 до 9 и затем напечатать их в обратном порядке: #include <iostream> using namespace std;  void main() {int ia[10]; int index;  cout << "isxodnyi massiv"<< endl; for (index=0; index<10; ++index) // ia[0] = 0, ia[1] = 1 и т.д. {ia[index] = index; cout << ia[index] << " ";}  cout <<endl<< "rezultat"<< endl; for (index=9; index>=0; --index) cout << ia[index] << " "; cout << endl; system("pause"); }

Слайд 10





Генерация (псевдо)случайных чисел
Функция стандартной библиотеки:
int rand (void);
Она генерирует псевдослучайное целое число на интервале значений от 0 до RAND_MAX. Последнее является константой, которая варьируется в зависимости от реализации языка, но в большинстве случаев составляет 32767.
Генерация чисел от 0 до 9:
rand() % 10
Если нам нужны числа от 1 (а не от 0) до 9, то можно прибавить 1:
rand() % 9 + 1
Идея такая: генерируем случайное число от 0 до 8, и после прибавления 1 оно превращается в случайное число от 1 до 9.
Описание слайда:
Генерация (псевдо)случайных чисел Функция стандартной библиотеки: int rand (void); Она генерирует псевдослучайное целое число на интервале значений от 0 до RAND_MAX. Последнее является константой, которая варьируется в зависимости от реализации языка, но в большинстве случаев составляет 32767. Генерация чисел от 0 до 9: rand() % 10 Если нам нужны числа от 1 (а не от 0) до 9, то можно прибавить 1: rand() % 9 + 1 Идея такая: генерируем случайное число от 0 до 8, и после прибавления 1 оно превращается в случайное число от 1 до 9.

Слайд 11





Функция rand() генерирует псевдослучайные числа, т.е. числа, которые кажутся случайными, но на самом деле являются последовательностью значений, вычисленных по хитрому алгоритму, в качестве параметра принимающему так называемое зерно (seed). Т.е. сгенерированные функцией rand() числа будут зависеть от значения, которое имеет зерно в момент ее вызова. А зерно всегда устанавливается компилятором в значение 1. Иными словами, последовательность чисел будет хоть и псевдослучайной, но всегда одинаковой. Исправить ситуацию помогает функция srand().
Функция rand() генерирует псевдослучайные числа, т.е. числа, которые кажутся случайными, но на самом деле являются последовательностью значений, вычисленных по хитрому алгоритму, в качестве параметра принимающему так называемое зерно (seed). Т.е. сгенерированные функцией rand() числа будут зависеть от значения, которое имеет зерно в момент ее вызова. А зерно всегда устанавливается компилятором в значение 1. Иными словами, последовательность чисел будет хоть и псевдослучайной, но всегда одинаковой. Исправить ситуацию помогает функция srand().
void srand (unsigned int seed);
Она устанавливает зерно равным значению параметра, с которым была вызвана. И последовательность чисел тоже будет другая.
Описание слайда:
Функция rand() генерирует псевдослучайные числа, т.е. числа, которые кажутся случайными, но на самом деле являются последовательностью значений, вычисленных по хитрому алгоритму, в качестве параметра принимающему так называемое зерно (seed). Т.е. сгенерированные функцией rand() числа будут зависеть от значения, которое имеет зерно в момент ее вызова. А зерно всегда устанавливается компилятором в значение 1. Иными словами, последовательность чисел будет хоть и псевдослучайной, но всегда одинаковой. Исправить ситуацию помогает функция srand(). Функция rand() генерирует псевдослучайные числа, т.е. числа, которые кажутся случайными, но на самом деле являются последовательностью значений, вычисленных по хитрому алгоритму, в качестве параметра принимающему так называемое зерно (seed). Т.е. сгенерированные функцией rand() числа будут зависеть от значения, которое имеет зерно в момент ее вызова. А зерно всегда устанавливается компилятором в значение 1. Иными словами, последовательность чисел будет хоть и псевдослучайной, но всегда одинаковой. Исправить ситуацию помогает функция srand(). void srand (unsigned int seed); Она устанавливает зерно равным значению параметра, с которым была вызвана. И последовательность чисел тоже будет другая.

Слайд 12





Чтобы сделать зерно всегда разным, используем функцию time().
Чтобы сделать зерно всегда разным, используем функцию time().
time_t time (time_t* timer);
Она тоже досталась в наследство от языка Си и, будучи вызвана с нулевым указателем в качестве параметра, возвращает количество секунд, прошедших с 1 января 1970 года. Теперь значение этой функции мы можем передать в функцию srand() и будет случайное зерно. И числа будут неповторяющиеся.
Для использования функций rand() и srand() нужно подключить заголовочный файл <cstdlib>, а для использования time() – файл <ctime>.
Описание слайда:
Чтобы сделать зерно всегда разным, используем функцию time(). Чтобы сделать зерно всегда разным, используем функцию time(). time_t time (time_t* timer); Она тоже досталась в наследство от языка Си и, будучи вызвана с нулевым указателем в качестве параметра, возвращает количество секунд, прошедших с 1 января 1970 года. Теперь значение этой функции мы можем передать в функцию srand() и будет случайное зерно. И числа будут неповторяющиеся. Для использования функций rand() и srand() нужно подключить заголовочный файл <cstdlib>, а для использования time() – файл <ctime>.

Слайд 13





Найти минимальный элемент одномерного массива и его порядковый номер
#include <iostream>
#include<cstdlib>
#include<ctime>
 using namespace std; 
 int main()
{
const int n= 10;
int a[n]; 
int i, imin;
srand(time(NULL));
for (i = 0; i < n; i++)
{ a[i]=rand()% 10; 
cout << a[i] << ' ';
}
for (i = imin = 0; i < n; i++)
if (a[i] < a[imin]) imin = i; 
 cout << endl<< " Min = " << a[imin]<< endl;
cout << " \n# Min elementa: " << imin << endl; 
 system ("pause");
return 0;
}
Описание слайда:
Найти минимальный элемент одномерного массива и его порядковый номер #include <iostream> #include<cstdlib> #include<ctime>  using namespace std;  int main() { const int n= 10; int a[n]; int i, imin; srand(time(NULL)); for (i = 0; i < n; i++) { a[i]=rand()% 10; cout << a[i] << ' '; } for (i = imin = 0; i < n; i++) if (a[i] < a[imin]) imin = i;  cout << endl<< " Min = " << a[imin]<< endl; cout << " \n# Min elementa: " << imin << endl;  system ("pause"); return 0; }

Слайд 14





Подсчитать сумму элементов массива
…
const int n = 10;
	// размерность массива задана целой положительной константой
	int marks[n] = {3, 4, 5, 4, 4}; //массив инициализируется при объявлении
	int sum = 0;
	for (int i = 0; i<n; i++)
		sum += marks[i];
	cout << "Сумма элементов: " << sum;
…
Описание слайда:
Подсчитать сумму элементов массива … const int n = 10; // размерность массива задана целой положительной константой int marks[n] = {3, 4, 5, 4, 4}; //массив инициализируется при объявлении int sum = 0; for (int i = 0; i<n; i++) sum += marks[i]; cout << "Сумма элементов: " << sum; …

Слайд 15





Операция определения размера sizeof
С помощью операции sizeof можно определить размер памяти (в байтах), которая необходима для хранения элемента с соответствующим идентификатором или определенного типа. Операция sizeof имеет следующий формат: 
sizeof ( выражение ) 
В качестве выражения может быть использован любой идентификатор, либо имя типа, заключенное в скобки. Отметим, что не может быть использовано имя типа void, а идентификатор не может относиться к полю битов или быть именем функции. 
Если в качестве выражения указанно имя массива, то результатом является размер всего массива (т.е. произведение числа элементов на длину типа), а не размер указателя, соответствующего идентификатору массива.
Описание слайда:
Операция определения размера sizeof С помощью операции sizeof можно определить размер памяти (в байтах), которая необходима для хранения элемента с соответствующим идентификатором или определенного типа. Операция sizeof имеет следующий формат: sizeof ( выражение ) В качестве выражения может быть использован любой идентификатор, либо имя типа, заключенное в скобки. Отметим, что не может быть использовано имя типа void, а идентификатор не может относиться к полю битов или быть именем функции. Если в качестве выражения указанно имя массива, то результатом является размер всего массива (т.е. произведение числа элементов на длину типа), а не размер указателя, соответствующего идентификатору массива.

Слайд 16





Одномерной массив сместить на k позиций вправо
#include <iostream>
using namespace std; 
int main()
{
int x[]={0,8,6,3,5,0,1,3,-7};
int n=sizeof(x)/sizeof(x[0]);//определение размера массива
int i, k, buf, r;
cout<<"vvedite k=";
cin>>k;
cout << "isx"<<endl;
for (i = 0; i < n; i++)
	cout << x[i] << ' ';
 for (r = 1; r <= k; r++)
for (i = n-2; i > 0; i--)
{buf= x[i+1]; x[i+1] = x[i]; x[i]=buf;} 
cout <<endl<< "itog"<<endl;
for (i = 0; i < n; i++)
cout << x[i] << ' ';
cout <<endl;
system ("pause");
return 0;
}
Описание слайда:
Одномерной массив сместить на k позиций вправо #include <iostream> using namespace std; int main() { int x[]={0,8,6,3,5,0,1,3,-7}; int n=sizeof(x)/sizeof(x[0]);//определение размера массива int i, k, buf, r; cout<<"vvedite k="; cin>>k; cout << "isx"<<endl; for (i = 0; i < n; i++) cout << x[i] << ' ';  for (r = 1; r <= k; r++) for (i = n-2; i > 0; i--) {buf= x[i+1]; x[i+1] = x[i]; x[i]=buf;} cout <<endl<< "itog"<<endl; for (i = 0; i < n; i++) cout << x[i] << ' '; cout <<endl; system ("pause"); return 0; }

Слайд 17





В одномерном массиве сдвинуть элементы на число k, вводимое с клавиатуры, влево
#include <iostream>
using namespace std; 
int main()
{
int x[]={1,2,3,5,4,0,1,3,-7};
int n=sizeof(x)/sizeof(x[0]);
int i, k, buf, r;
cout<<"vvedite k=";
cin>>k;
 cout << "isx"<<endl;
for (i = 0; i < n; i++)
cout << x[i] << ' ';
 for (r=1;r<=k;r++)
for (i = 0; i < n-1; i++)
{buf= x[i+1]; x[i+1] = x[i]; x[i]=buf;} 
 cout <<endl<< "itog"<<endl;
for (i = 0; i < n; i++)
cout << x[i] << ' ';
cout <<endl;
system ("pause");
return 0;
}
Описание слайда:
В одномерном массиве сдвинуть элементы на число k, вводимое с клавиатуры, влево #include <iostream> using namespace std; int main() { int x[]={1,2,3,5,4,0,1,3,-7}; int n=sizeof(x)/sizeof(x[0]); int i, k, buf, r; cout<<"vvedite k="; cin>>k;  cout << "isx"<<endl; for (i = 0; i < n; i++) cout << x[i] << ' ';  for (r=1;r<=k;r++) for (i = 0; i < n-1; i++) {buf= x[i+1]; x[i+1] = x[i]; x[i]=buf;}  cout <<endl<< "itog"<<endl; for (i = 0; i < n; i++) cout << x[i] << ' '; cout <<endl; system ("pause"); return 0; }

Слайд 18





Многомерные массивы 
задаются указанием каждого измерения в квадратных скобках, например, оператор int matr [6][8]; 
задает описание двумерного массива из 6 строк и 8 столбцов. В памяти такой массив располагается в последовательных ячейках построчно. Многомерные массивы размещаются так, что при переходе к следующему элементу быстрее всего изменяется последний индекс. 
Для доступа к элементу многомерного массива указываются все его индексы, например, matr[i][j].
Инициализация многомерного массива:
int mass2 [][]={ {1, 1}, {0, 2}, {1, 0} };
int mass2 [3][2]={1, 1, 0, 2, 1, 0};
Описание слайда:
Многомерные массивы задаются указанием каждого измерения в квадратных скобках, например, оператор int matr [6][8]; задает описание двумерного массива из 6 строк и 8 столбцов. В памяти такой массив располагается в последовательных ячейках построчно. Многомерные массивы размещаются так, что при переходе к следующему элементу быстрее всего изменяется последний индекс. Для доступа к элементу многомерного массива указываются все его индексы, например, matr[i][j]. Инициализация многомерного массива: int mass2 [][]={ {1, 1}, {0, 2}, {1, 0} }; int mass2 [3][2]={1, 1, 0, 2, 1, 0};

Слайд 19





Правила
Размерность нединамического массива может быть только константой или константным выражением. Рекомендуется задавать размерность с помощью именованной константы.
Элементы массивов нумеруются с нуля, поэтому максимальный номер элемента всегда на единицу меньше размерности.
В двумерном массиве первый индекс всегда представляет собой номер строки, второй — номер столбца. Каждый индекс может изменяться от 0 до значения соответствующей размерности, уменьшенной на единицу.
Массив хранится по строкам в непрерывной области памяти.
Автоматический контроль выхода индекса за границы массива не производится, поэтому программист должен следить за этим самостоятельно.
При описании массива можно в фигурных скобках задать начальные значения его элементов.
Описание слайда:
Правила Размерность нединамического массива может быть только константой или константным выражением. Рекомендуется задавать размерность с помощью именованной константы. Элементы массивов нумеруются с нуля, поэтому максимальный номер элемента всегда на единицу меньше размерности. В двумерном массиве первый индекс всегда представляет собой номер строки, второй — номер столбца. Каждый индекс может изменяться от 0 до значения соответствующей размерности, уменьшенной на единицу. Массив хранится по строкам в непрерывной области памяти. Автоматический контроль выхода индекса за границы массива не производится, поэтому программист должен следить за этим самостоятельно. При описании массива можно в фигурных скобках задать начальные значения его элементов.

Слайд 20





В двумерном массиве посчитать кол-во положительных элементов в строках
#include<iostream>
#include <iomanip> //определены некоторые манипуляторы потокового ввода/вывода
#include<cstdlib> // Для функций rand() и srand()
#include<ctime> //использование функции time() для усиления случайности "зерна"
using namespace std; 
 int main ()
{
const int nstr = 4, nstb = 5;	
int b[nstr][nstb],a[nstr];
int i, j,kol;
srand(time(NULL));
for (i = 0; i < nstr; i++)
for (j = 0; j < nstb; j++) 
{
b[i][j]=rand()%10-5; }
cout << "isxodn massiv" << endl;
for (i = 0; i<nstr; i++)
{cout<<endl;
for (j = 0; j<nstb; j++) 
cout << setw(3) <<b[i][j];
}
for (i = 0; i < nstr; i++)
{ kol=0;
for (j = 0; j < nstb; j++)
     if (b[i][j] > 0) kol++; 
a[i]=kol;}
cout << endl;
 for (i = 0; i<nstr; i++)
cout <<"kol-vo="<<a[i]<< endl;
 cin.get();
//system ("pause");
return 0;
}
Описание слайда:
В двумерном массиве посчитать кол-во положительных элементов в строках #include<iostream> #include <iomanip> //определены некоторые манипуляторы потокового ввода/вывода #include<cstdlib> // Для функций rand() и srand() #include<ctime> //использование функции time() для усиления случайности "зерна" using namespace std;  int main () { const int nstr = 4, nstb = 5; int b[nstr][nstb],a[nstr]; int i, j,kol; srand(time(NULL)); for (i = 0; i < nstr; i++) for (j = 0; j < nstb; j++) { b[i][j]=rand()%10-5; } cout << "isxodn massiv" << endl; for (i = 0; i<nstr; i++) {cout<<endl; for (j = 0; j<nstb; j++) cout << setw(3) <<b[i][j]; } for (i = 0; i < nstr; i++) { kol=0; for (j = 0; j < nstb; j++) if (b[i][j] > 0) kol++; a[i]=kol;} cout << endl;  for (i = 0; i<nstr; i++) cout <<"kol-vo="<<a[i]<< endl;  cin.get(); //system ("pause"); return 0; }

Слайд 21





Сумма элементов главной и побочной диагонали а(4,4)
#include<iostream>
#include <iomanip> 
#include<cstdlib> 
#include<ctime>
using namespace std; 
int main ()
{
const int n= 4;	
int a[n][n];
int i, j, s1,s2;
s1=s2=0;
srand(time(NULL));
for (i = 0; i < n; i++)
{cout<<endl;
for (j = 0; j < n; j++)
{
a[i][j]=rand()%10; 
cout << setw(3) <<a[i][j];
} }
for (i = 0; i < n; i++)
{s1+=a[i][i];
s2+=a[i][n-i+1];}
cout <<“s1="<<s1<< endl;
cout << “s2=" << s2<< endl;
cin.get();
return 0;
}
Описание слайда:
Сумма элементов главной и побочной диагонали а(4,4) #include<iostream> #include <iomanip> #include<cstdlib> #include<ctime> using namespace std; int main () { const int n= 4; int a[n][n]; int i, j, s1,s2; s1=s2=0; srand(time(NULL)); for (i = 0; i < n; i++) {cout<<endl; for (j = 0; j < n; j++) { a[i][j]=rand()%10; cout << setw(3) <<a[i][j]; } } for (i = 0; i < n; i++) {s1+=a[i][i]; s2+=a[i][n-i+1];} cout <<“s1="<<s1<< endl; cout << “s2=" << s2<< endl; cin.get(); return 0; }



Похожие презентации
Mypresentation.ru
Загрузить презентацию