- •Лекция 8
- •Тип Имя массива[размер]; .
- •Int _tmain(int argc, _tchar* argv[])
- •Vvedite massiv:
- •Int _tmain(int argc, _tchar* argv[])
- •4. Поиск элемента в одномерных массивах
- •Int _tmain(int argc, _tchar* argv[])
- •Int _tmain(int argc, _tchar* argv[])
- •Int _tmain(int argc, _tchar* argv[])
- •Float а [ 0..2 ] [ 0..3 ];
- •Float а [ 2, 3 ];
- •Float а [ 2 ][ 3 ];
Int _tmain(int argc, _tchar* argv[])
{
int const N=8; //инициализация размерности массива
int i; //объявление параметра цикла i
int А[N]; //объявление одномерного массива А
cout<<endl<<"Vvedite massiv:"<<endl;
for(i=0; i<N; i++) //цикл по i для ввода массива А
cin>>А[i]; //ввод i-го элемента массива А
cout<<endl;
for (i=0; i<N; i++) //цикл по i для вывода А на экран
cout<<" А["<<i<<"]= "<<А[i]; //вывод i-го элемента массива А
cout<<endl<<"size= "<<i<<endl; //вывод размерности массива А
getch();
return 0;
}
Рис. 8.1. Блок-схема алгоритма ввода и вывода элементов вектора с использованием цикла for
После запуска программы и ввода элементов массива А вид экрана будет следующий:
Vvedite massiv:
1 2 3 4 5 6 7 8
А[0]= 1 А[1]= 2 А[2]= 3 А[3]= 4 А[4]= 5 А[5]= 6 А[6]= 7 А[7]= 8
size= 8
3. Присваивание и копирование одномерных массивов в Visual С++ 2010
Элементам массива могут быть присвоены значения выражений. Элементы массива и значения выражений должны иметь один и тот же тип.
Например, объявлен массив float А[3];
тогда
А[0]= 3.5;
А[1]= 0;
А[2]= a*x + b;
Копирование – это присваивание значений элементов одного массива элементам другого массива. При копировании оба массива должны иметь одинаковый размер и тип элементов. Копирование массива А в массив B будет иметь вид:
for (i=0; i<N; i++) B[i]= А[i];
Пример 2. Задать массив Х действительных чисел из 8 элементов непосредственным присваиванием в программном коде. Вычислить массив Y по заданной формуле:
.
Массив Y вывести на экран.
Блок-схема алгоритма решения этой задачи аналогична блок-схеме, приведенной на рис. 7.1.
Реализующая данный алгоритм программа имеет следующий вид:
#include "stdafx.h"
#include <conio.h>
#include "iostream"
using namespace std;
Int _tmain(int argc, _tchar* argv[])
{
int i;
double X[8]={1.2, 3.4, 12, 5.12, 23.1, 3, 0, 35.2}; //Инициализация элементов массива X[8]
double Y [8];
for (i=0; i<8; i++) //Цикл для вычисления и вывода элемента Y[i]
{ //Начало составного оператора
Y [i]=2*X[i]+pow(X[i], 5/3); //Вычисление элементов массива Y[8]
cout<<" X["<<i<<"]="<<X[i]; //Вывод элементов массива X[8] на экран
cout<<" Y["<<i<<"]="<<Y[i]; //Вывод элементов массива Y[8] на экран
cout<<endl; //Переход на новую строку
} //Конец составного оператора
getch();
return 0;
}
В результате выполнения программы получим:
X[0]=1.2 Y[0]=3.6
X[1]=3.4 Y[1]=10.2
X[2]=12 Y[2]=36
X[3]=5.12 Y[3]=15.36
X[4]=23.1 Y[4]=69.3
X[5]=3 Y[5]=9
X[6]=0 Y[6]=0
X[7]=35.2 Y[7]=105.6
4. Поиск элемента в одномерных массивах
Поиск элемента в массиве заключается в выделении из массива отдельных его элементов. Поиск может проводиться по образцу или по правилу.
Поиск по образцу заключается в следующем. Задается значение некоторой переменной (образец) и все элементы массива (или часть элементов) сравниваются со значением этой переменной (образцом).
Поиск по правилу проводится на основе проверки некоторых условий, которым должны отвечать либо элемент массива, либо группа элементов.
Рассмотрим пример поиска элемента по образцу.
Пример 3. Исследуем программу для поиска элемента одномерного массива по образцу. Задан массив А из 8 произвольных чисел. Необходимо определить количество элементов, которые больше заданного числа q и их порядковые номера. На экран вывести исходный массив, элементы, большие q и их порядковые номера.
Решение. Определим типы и структуры данных, которые будут использоваться в программе:
q – число, по которому осуществляется поиск элементов исходного массива А;
i – номер элемента исходного массива А (параметр цикла);
А[8] – массив из N произвольных чисел;
X[8] – массив для хранения номеров элементов исходного массива А , больших q.
j – номер элемента массива X для хранения номеров (параметр цикла);
Блок-схема алгоритма поиска элементов одномерного массива приведена на рис.8.2.
Рис.
8.2. Блок-схема алгоритма поиска элементов
одномерного
массива
#include "stdafx.h"
#include <conio.h>
#include "iostream"
using namespace std;
