Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Способ: перебор всей матрицы по столбцамСодержание книги
Поиск на нашем сайте
for(j=0;j<STLB;j++) { for(i=0;i<STR;i++) { алгоритм обработки } // конец j-го столбца }
Задача: дана статическая матрица, заполнить её с клавиатуры, вывести на экран как матрицу (manip) вычислить сумму в каждой строке отдельно и во всей матрице в целом +
#include <iomanip> #define STR 3 #define STLB 4 int main(void) { int A[STR][STLB]; int i, j, sum, sumSTR; for(i=0;i<STR;i++) // ввод матрицы { for(j=0;j<STLB;j++) cin>>A[i][j]; } for(i=0;i<STR;i++) { for(j=0;j<STLB;j++) cout<<setw(5)<<A[i][j]; cout<<endl; } sum=0; sumSTR=0; for(i=0;i<STR;i++) { sumSTR=0; for(j=0;j<STLB;j++) sumSTR+=A[i][j]; cout<<endl<<sumSTR; sum+=sumSTR; } cout<<endl<<sum<<endl; return 0; } + 26.Динамическое выделение памяти под данные в программах на С++ (переменная любого типа, строка, одномерный и двумерный числовые массивы). Освобождение памяти. Переменная любого типа: Тип *p=new Тип; delete p;
Строка: const int SIZE=80; char *p=new char[SIZE]; delete []p;
Одномерный числовой массив: int *p=new int[SIZE]; delete []p;
Двумерный числовой массив: int STR, STLB; cin>>STR>>STLB; int *p=new int[STR*STLB]; delete []p;
+ 29.Взаимосвязь массивов и указателей в языке С++: определение адреса и значения по адресу для любого элемента одномерного и двумерного массива, объявленные статически или динамически. Одномерный числовой массив: статически: адрес: mas+i значение: *(mas+i) или mas[i]
динамически: адрес: p+i значение: *(p+i) или p[i]
Двумерный числовой массив: статически: адрес: A[i]+j значение: *(A[i]+j) или A[i][j]
динамически: адрес: p+i*STLB+j значение: *(p+i*STLB+j) или p[i*STLB+j]
+++ Программирование с использованием функций пользователя. Принципы построения функций. 29.Объявление (прототип) функции и оператор вызова функции языка С++. Параметры и аргументы функции. 30.Определение функций языка С++. Результат функций. Функции языка С++ Любая нетривиальная задача требует разбиения ее на несколько логически завершенных частей, каждая из которых реализуется определенной функцией. Выполнение программы начинается с функции main, а она вызывает другие функции. Наличие функций избавляет от повторного программирования. Программа, написанная с помощью функций, имеет более четкую структуру. Небольшую функцию легче написать, отладить и модифицировать. Функция – это самостоятельная независимая единица программы, спроектированная для решения одной подзадачи. Функция - алгоритм,указывающий, как из набора исходных данных получить результат. Каждая функция может находиться в отдельном файле или несколько функций в одном файле, в любом порядке, но при этом каждая функция пишется от начала до конца. Каждая функция состоит из заголовка и тела. Заголовок функции – это директивы препроцессора и имя функции. (//Если все функции помещены в одном файле, директивы препроцессора пишутся в самом начале файла один раз.) Имя функции состоит из типа функции, названия функции и в круглых скобках параметры вместе с их типом, разделенные запятой. Тип функции определяется типом результата функции, передаваемого через оператор return. Если функция не передает результат, тип функции void. Если тип функции не указан, то по умолчанию она типа int. Параметры функции – это переменные для исходных данных функции. Если параметров нет – пишем void. Тело функции пишется аналогично телу main. После { скобки объявляется внутренняя переменная под результат функции или для построения алгоритма функции. Затем следуют операторы, реализующие алгоритм. При этом параметры используем как известные величины(исходные данные). Оператор return обычно завершает функцию. Хотя он может быть написан в любом месте функции. Return; //при этом тип функции void. Return res;//при этом тип функции как у переменной res return a*b; //при этом тип выражения совпадает с типом функции return 1; //если результат выражен константой Сама по себе функция не выполняется, необходимо, чтобы в теле другой функции, обычно main, появился оператор вызова этой функции. При вызове функции используются аргументы функции (//в том же порядке и количестве, что и параметры), ими могут быть константы, переменные(заранее объявленные и определенные) или выражения. // Аргументы функции – это конкретные значения исходных данных, передаваемых параметрам в процессе выполнения функции. Функции, кроме типа void, могут вызываться внутри выражения. Компилятор контролирует правильность написания каждого оператора, в том числе и оператора вызова функции: он сравнивает вызов с прототипом – вызов должен соответствовать прототипу. Прототип – перечень характеристик функции и фактически повторяет имя функции и завершается;. Прототип функции помещается перед именем вызывающей функции, (//содержит тип функции, название функции и в круглых скобках список типов параметров. Завершается;). Чаще прототип помещают в правильно оформленный заголовочный файл, а заголовочный файл подключают #include //Если тип аргумента в операторе вызова функции не соответствует прототипу, он автоматически (если это возможно) приводятся к нужному типу и функция вызывается правильно; в противном случае возникает ошибка компиляции.
Механизм вывода функции При выполнении оператора вызова функции, управление передается на заголовок этой функции, создаются параметры функции, которые тут же инициализируются аргументами. Затем выполняется тело функции, где параметры уже действительно имеют свое значение. При выполнении оператора return управление передается назад – в место вызова. Передаваемый результат подставится вместо вызова и присвоится указанной переменной. Выводы
Для написания собственной функции необходимо: · определить функцию(написать заголовок и тело) · объявить функцию(написать прототип) · в нужном месте программы организовать вызов функции.
Основные принципы построения функции: 1) Каждая функция решает одну подзадачу. 2) Исходные данные всегда передаются через параметры. (за незначительным исключением) 3) Результат всегда передается из функции с помощью оператора return или другими средствами. +
|
||||
Последнее изменение этой страницы: 2016-06-06; просмотров: 536; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.237.140 (0.008 с.) |