Скачать 312.49 Kb.
|
Решение задач с использованием одномерных массивовПример 11.10. Переставить элементы массива в обратном порядке. Const N=25; Var A: Array[1..N] Of Integer; i,B:Integer; Begin {Ввод элементов массива с клавиатуры. N – количество элементов} For i:=1 To N Do Begin Write (‘A[‘,i,']= '); Readln (А[i]); End; {Перестановка элементов массива} For i:=1 To N div 2 Do Begin B:=A[i]; A[i]:=A[N-i+1]; A[N-i+1]:=B; End; For i:=1 To N Do {вывод массива} Write(A[i]:6) End. Пример 11.11. Найти сумму четных элементов массива. Const N=25; Type Tarray=Array[1..N] Of Integer; Var A:Tarray; i,S:Integer; Begin {Ввод элементов массива с клавиатуры. N – количество элементов} For i:=1 To N Do Begin Write (‘A[‘,i,']= '); Readln (А[i]); End; {Сумма элементов массива} S:=0; For i:=1 To N Do If А[i] mod 2 = 0 Then {или not odd (А[i])} S:= S + А[i]; WriteLn ('S=', S); End. Пример 11.12. Найти первый максимальный элемент массива и его индекс. Фрагмент программы (считаем, что все переменные описаны правильно): ... zmax:=А[1]; {Значение максимального элемента} imax:=1; {Индекс максимального элемента} For i:=2 To n Do If А[i] > zmax Then Begin zmax := А [i]; imax := i; End; или другой вариант: ... imax:=1; For i:=2 To n Do If A[i] > A[imax] Then imax := i; zmax:= m[imax]; Пример 11.13. Найти количество положительных и отрицательных элементов массива. Выбрать наиболее эффективный фрагмент. Фрагмент программы 1: Var i,k1,k2,n:Integer; A:Array[1..30] Of Integer; Begin ... k1:=0; {k1 – количество положительных элементов} k2:=0; {k2 – количество отрицательных элементов} For i:=1 To n Do If A[i] > 0 Then Inc (k1) Else If A[i] < 0 Then Inc (k2); ... Фрагмент программы 2: Var i,k1,k2,n:Integer; A:Array[1..30] Of Integer; Begin ... k1:=0; {k1 – количество положительных элементов} k2:=0; {k2 – количество отрицательных элементов} For i:=1 To n Do Begin K1:= k1 + ord( A[i] > 0); K2:= k2 + ord( A[i] < 0); End; ... Фрагмент программы 3: Var i,n:Integer; A:Array[1..30] Of Integer; Flags:array[Boolean] of byte; Begin ... Flags[False]:=0; {количество положительных элементов} Flags[true]:=0; {количество отрицательных элементов} For i:=1 To n Do Flags[A[i] <= 0]:=Flags[A[i] <= 0]+1–ord(A[i]=0); Пример 11.14. Дан линейный массив целых чисел. Подсчитать, сколько в нем различных чисел. Идея решения: заводим вспомогательный массив, элементами которого являются логические величины (False – если элемент уже встречался ранее, True – иначе). Var I, N, K, Kol:Integer; A:Array [1..50] Of Integer; {исходный массив} L:Array [1..50] Of Boolean; {вспомогательный массив} Begin Write('Введите количество элементов массива: '); ReadLn(N); For I := 1 To N Do Begin Write('A[', I, ']='); ReadLn (A[I]); L[I] := True; {Заполняем вспомогательный массив значениями True} End; Kol := 0; {переменная, в которой будет храниться значение количества различных чисел} For I := 1 To N Do IF L[I] Then Begin Kol := Kol + 1; FOR K := I+1 TO N DO {Во вспомогательный массив заносим значение False, если число уже встречалось ранее или совпадает с текущим элементом A[I]} L[K] := (A[K] <> A[I]) And L[K]; End; WriteLn('Количество различных чисел: ', Kol) End. Задание. |
Массив — это пронумерованная последовательность величин одинакового типа, обозначаемая одним именем. Элементы массива располагаются... | Многомерные массивы задаются указанием каждого измерения в квадратных скобках, например, оператор | ||
Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Их можно представить в виде прямоугольной... | Цель урока: систематизация и развитие знаний по использованию массивов в программах на Паскале | ||
Лабораторная работа №6 (статические массивы, знакомство с графическим режимом. Возможно будет изменена) 49 | На контрольной работе необходимо письменно ответить на два теоретических вопроса и решить 1 задачу | ||
Определение: Двумерный массив- это одномерный массив, у которого типом компоненты является одномерный массив | ... | ||
... | Двумерные массивы условно можно изобразить в виде таблицы ( матрицы). С информацией, представленной в виде таблицы, мы очень часто... |
Поиск Главная страница   Заполнение бланков   Бланки   Договоры   Документы    |