Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirvanie_na_Si_dlya_zaochnikov.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.38 Mб
Скачать

4.3.3. Ввод-вывод элементов массива

Ввод и вывод массивов так же осуществляется поэлементно (рис. 16-17).

Рис. 16. Алгоритм ввода массива. Рис. 17. Алгоритм вывода массива

Варианты ввода массива:

Вариант 1. Ввод массива с помощью функции scanf.

int main()

{

float x[10]; int i,n;

printf("\n N="); scanf("%d",&n);

printf("\n INPUT X \n");

for(i=0 ; i<n; scanf("%f",&x[i]), i++); }

Вариант 2. Ввод массива с помощью оператора cin.

int main()

{ int X[10],N,i;

cout<<"\n N="; cin>>N;

for (i=0; i<N; cout<<"\n X["<<i<<"]=",

cin>>X[i], i++); }

Варианты вывод массива:

Вариант 1. Вывод массива в виде строки.

for(i=0; i<n; printf("%f \t",X[i]), i++);

Вариант 2. Вывод массива в виде столбца.

for(i=0; i<n; printf("\n %f ",X[i]), i++);

Вариант 3. Вывод массива в виде строки.

for (i=0;i<N; cout <<"\t X["<<i<<"]="<<X[i],i++);

Вариант 4. Вывод массива в виде столбца.

for (i=0;i<N; cout <<"\n X["<<i<<"]="<<X[i];i++)

4.3.4. Вычисление суммы элементов массива

Дан массив X, состоящий из n элементов. Найти сумму элементов этого массива (рис. 18).

Рис. 18. Алгоритм вычисления суммы элементов массива

Фрагмент программы:

for (S=0, i=0; i<N; S+=X[i], i++); cout<<"S="<<S<<"\n";

4.3.5. Вычисление произведения элементов массива

Дан массив X, состоящий из n элементов. Найти произведение элементов этого массива (рис. 19).

Рис. 19. Алгоритм вычисления произведения элементов в массиве.

Фрагмент программы:

for (P=1, i=0; i<N; P*=X[i], i++); cout<<"P="<<P<<"\n";

4.3.6. Поиск максимального элемента и его номера

Дан массив X, состоящий из n элементов. Найти максимальный элемент массива и номер (рис. 20).

Рис. 20. Алгоритм пориска наибольшего элемента в массиве

Фрагмент программы:

for (Max=X[0],Nmax=0,i=0;i<n;i++)

if (Max<X[i])

{ Max=X[i]; Nmax=i; }

cout<<"Max="<<Max<<"\n";

cout<<"Nmax="<<Nmax<<"\n";

Алгоритм поиска минимального элемента в массиве отличается тем, что в условном блоке и в конструкции if текста программы знак поменяется с < на >.

4.3.7. Сортировка элементов в массиве

Сортировка это процесс упорядочения элементов в массиве в порядке возрастания или убывания их значений:

Y[0]  Y[1] …  Y[n-1] или Y[0]  Y[1] …  Y[n-1].

Сортировка пузырьковым методом основана на выполнении в цикле операций сравнения и при необходимости обмена соседних элементов (рис. 21). Для преобразования массива Y, состоящего из n элементов, необходимо просмотреть его n–1 раз, каждый раз уменьшая диапазон просмотра на 1 элемент (рис. 22).

Рис. 21. Схема обмена элементов

Рис. 22. Алгоритм сортировки массива

в порядке возрастания элементов

Фрагмент программы:

int main()

{

int y[10],n,i,b,j;

cout<<"\n N="; cin>>n;

for (i=0;i<n; cout<<"\n Y["<<i<<"]="; cin>>y[i]; i++);

for(j=1;j<n;j++)

for(i=0;i<n-j;i++)

if (y[i]>y[i+1])

{

b=y[i];

y[i]=y[i+1];

y[i+1]=b;

}

for (i=0;i<n; cout<<y[i]<<"\t", i++);

return 0;

}

Для перестановки элементов в массиве по убыванию необходимо при сравнении элементов массива заменить знак > на <.

4.3.8. Удаление элемента из массива

Пусть нужно удалить из массива X, состоящего из n элементов, m–й по номеру элемент. Алгоритм удаления на рис. 23.

Рис. 23. Алгоритм удаления элемента из массива

Фрагмент программы:

cout<<"\n m="; cin>>m;

for (i=m;i<n-1;X[i]=X[i+1],i++);

for (i=0;i<n-1; cout<<X[i]<<"\t", i++);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]