Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Топ:
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Дисциплины:
2017-10-01 | 511 |
5.00
из
|
Заказать работу |
|
|
Массив – это совокупность элементов любого одного допустимого типа. Элементы массива образуют последовательность, упорядоченную по номерам их элементов. Форма объявления массива:
имя_типа имя_массива [k1] [k2] … [kn];
где k1..kn – количество элементов массива по 1.. n измерениям.
Следует учитывать, что размер и размерность массива имеют различные значения.
Объявление целочисленного массива:
int a[5];
Объявление массива символов:
char str[7];
Массивы можно инициализировать при объявлении:
int mas[5] = {1, 2, 3, 4, 5};
или
int a[ ] = {-125, 13, 34, -78, -2, 11, 45};
Обращение к элементам массива:
a[2] = 1;
a[0] = -5;
Задание 3. Выполните задания в соответствие с индивидуальным вариантом. Введите с клавиатуры массив-вектор А из 10 элементов. Затем нужно:
3.1. Найти наибольший элемент и поменять его местами с первым элементом. Преобразованный массив вывести на экран.
3.2. Найти наименьший элемент и поменять его местами с последним элементом. Преобразованный массив вывести на экран.
3.3. Найти произведение положительных элементов и вывести его на экран.
3.4. Найти произведение отрицательных элементов и вывести его на экран.
3.5. Найти сумму положительных элементов и вывести ее на экран.
3.6. Найти сумму отрицательных элементов и вывести ее на экран.
3.7. Найти сумму элементов, больших 3 и меньших 8, и вывести ее на экран.
3.8. Найти сумму элементов, меньших 5 (по модулю), и вывести ее на экран.
3.9. Отсортировать вектор по возрастанию и убыванию методом «пузырька».
3.10. Отсортировать вектор по возрастанию и убыванию любым способом (кроме метода «пузырька»).
Сложные типы данных: двумерные массивы. Псевдослучайные числа
Объявление двумерного целочисленного массива:
|
int mas [10][20];
Если размер массива не указан, то его определяет только количество инициализированных значений.
При инициализации многомерных массивов используются вложенные скобки:
int a[2][4] = { {1, 2, 4, -1}, // элементы 0-ой строки
{2, 5, 7, 0}}; // элементы 1-ой строки
Обращение к элементам массива:
b[1][1] = 12;
Пример. Перед выполнением индивидуального задания создайте в среде Microsoft Visual Studio проект обработки двумерного массива с исходным кодом на С++:
// подключение заголовочных файлов
#include "stdio.h"
#include <stdlib.h> // библиотека с описанием функций rand, srand;
#include <iomanip.h> // для setw
#include <time.h> // содержит описание функций для работы с
// системным таймером
#include "iostream.h"
using namespace std;
int main(int argc, char* argv[])
{
char * str = "|--------------------------------------|\n"
"| |\n"
"| Task 5 (Example) |\n"
"| |\n"
"|--------------------------------------|\n";
cout << str;
// объявление переменных:
const int M = 5, N = 7;
float mas[M][N], max, min;
int i, j;
// установка генератора случайных чисел функцией srand
srand(time(0));
// инициализация элементов матрицы случайными числами
for (i=0; i<M; i++)
{
for (j=0; j<N; j++)
{
mas[i][j] = (float)rand()/100;
}
}
cout << "\n---------------------------------------------------\n\n\n";
// вывод элементов матрицы в виде таблицы:
for (i=0; i<M; i++)
{
cout << "\n";
for (j=0; j<N; j++)
cout << setw(3)<< mas[i][j] << "\t";
}
cout << "\n---------------------------------------------------\n";
// Поиск минимального и максимального элемента в матрице:
max = min = mas[0][0];
for (i=0; i<M; i++)
for (j=0; j<N; j++)
{
if (mas[i][j] > max)
max = mas[i][j];
if (mas[i][j] < min)
min = mas[i][j];
}
cout << "Maximum = " << setw(3)<< max;
cout << setw(3) << "\nMinimum = " << setw(3)<< min << "\n";
system("PAUSE");
return 0;
}
После набора исходного кода откомпилируйте программу, запустите ее на
выполнение. Результат работы программы:
В данном исходном коде наибольший интерес представляют функции:
rand()
srand(int)
time(0)
Функция rand() возвращает псевдослучайное число типа int. Для инициализации генератора псевдослучайных чисел применяется функция srand().
Для того чтобы последовательность псевдослучайных чисел была каждый раз новая (не повторялась при разных запусках программы), необходимо передавать в качестве параметра в функцию srand() случайное значение. Таким значением является значение, возвращаемое функцией time(0).
|
Внимательно изучите код программы. Обратите внимание на использование вложенных циклов, генерацию случайных чисел, использование setw, cout.
Задание 4
4.1. Даны матрица A размером m*n и вектор В размером m. Записать в главную диагональ элементы вектора, а в вектор - элементы главной диагонали. Матрицу А, вектор В и результаты вывести на экран.
4.2. Найти максимальный элемент матрицы С (размер m*n), элементы четных строк разделить на максимальный элемент, а к элементам нечетных прибавить максимальный элемент. Исходную и результирующую матрицы вывести на экран.
4.3. Найти минимальный элемент матрицы С (размер m*n) и поменять его местами с первым элементом. Исходную и результирующую матрицы вывести на экран.
4.4. Дана матрица Е размером m*n. Вычислить суммы элементов каждого столбца. Определить наибольшее значение суммы и номер соответствующего столбца. Исходную матрицу, максимальную сумму и номер столбца вывести на экран.
4.5. В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество нулевых элементов в матрице. Исходную матрицу, произведение и количество нулевых элементов вывести на экран.
4.6. Даны две матрицы А и В одинаковой размерности m*n. Получить матрицу C = max (a i j, b i j) и матрицу D = min (a i j, b i j). Исходные и результирующие матрицы вывести на экран.
4.7. Дана матрица Р размером m*n. Найти сумму минимальных элементов каждого столбца матрицы. Исходную матрицу и сумму вывести на экран.
4.8. Даны две матрицы: А размером m*k и В размером k*n. Получить матрицу С=A*В. Исходные и результирующие матрицы вывести на экран.
4.9. Найти сумму и произведение элементов главных диагоналей квадратной матрицы. Исходную матрицу и результаты вывести на экран.
4.10. Транспонировать (поменять местами строки и столбцы) матрицу m*n. Исходную и результирующую матрицу вывести на экран.
|
|
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!