Программирование циклов С использованием массивов

  • docx
  • 11.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-00487.docx

Программирование циклов С использованием массивов

 

 

 

Массив это упорядоченная последовательность фик- сированного количества данных одного типа, имеющая общее имя. сами эти данные называются элементами массива, а их номера – индексами.

р аз мерно сть м ассив а это количество индексов, необходимое для однозначного доступа к элементу массива. коли- чество используемых индексов массива может быть различным. Массивы с одним индексом называют одномерными, с двумя – двумерными и т. д. одномерный массив (колонка, столбец) в мате- матике нестрого соответствует вектору, двумерный матрице.

Чтобы обратиться к элементу массива, надо указать: имя мас- сива (общее имя всего набора величин) и индекс (номер) элемента. обработка массивов в программах производится покомпо- нентно. для этого используется цикл со счетчиком, где параметр

цикла совпадает с номером обрабатываемого элемента массива.

 

Пример типовой задачи

задан массив А из n целых чисел. найти сумму положитель- ных элементов этого массива.

Блок-схема алгоритма

приведена на рис. 6.

текст программы на языке Паскаль

program prim6; const n = 10;

var A: array [1..n] of integer; i, S: integer;

begin


writeln('введите', n, 'элементов массива'); for i := 1 to n do readln(A[i]);

S := 0;

for i := 1 to n do

if A[i] > 0 then S := S + A[i]; writeln('S=', S);

end.

 

 

 

 

 

 

 

 

 


 

рис. 6. блок-схема алгоритма обработки одномерного массива

 

текст программы на языке С#

using System;

namespace ConsoleApplication24

{

class Program

{


static void Main(string[] args)

{

const int n = 10;

Console.WriteLine("введите {0} элементов массива:", n);

int[] A = new int[n]; for(int i = 0; i < n; ++i)

A[i] = int.Parse(Console.ReadLine()); int S = 0;

for(int i = 0; i < n; ++i) { if (A[i] > 0)

S += A[i];

}

Console.WriteLine("S={0}", S); Console.ReadLine();

}

}

}

 

Задачи

1.  задан массив Х = (х1, х2, , хn). найти суммы положитель- ных, отрицательных элементов массива и их количество.

2.      задан массив оценок, полученных студентами одной группы за экзамен. найти:

1)     количество пятерок, четверок, троек, двоек;

2)     процент успеваемости группы;

3)     процент повышенных оценок.

3.  задан массив из N натуральных чисел. найти среднее ариф- метическое и среднее геометрическое нечетных чисел.

4.  ввести массив A = (a1, a2, …, an). просматривая его эле- менты слева направо, заменить в нем каждый нулевой элемент полусуммой последующего и предыдущего. если a1 = 0, заменить

его на a2, если an = 0, заменить его на an 1.

5.  определить количество перемен знака у элементов задан-

ного массива из М элементов.

6.  заменить на единицу минимальный по абсолютной вели- чине элемент заданного массива Х = (х1, х2, …, хn). если мини- мальных компонентов несколько, заменить их все.


7.  задан массив Х = (х1, х2, …, хn). вычислить элементы нового массива Y по правилу:

 


 

n

yi = å x j ,

j = i


i = 1, 2, ..., n.


 

8.  задан целочисленный массив из 150 элементов. выделить в отдельный массив все его элементы, кратные 5.

9.  на прямой в порядке возрастания заданы координаты n точек: х1, х2, …, хn. найти наибольшее расстояние между сосед- ними точками, напечатать номера этих точек.

10.   даны натуральные числа х1, х2, …, xn. определить произ- ведение членов последовательности, являющихся нечетными числами.

11.  задан массив А из n элементов и вещественное число с. переписать в новый массив В все элементы из А, которые больше с.

12.  даны натуральные числа х1, х2, …, xn. найти наименьшее из четных чисел, входящих в последовательность х1, х2, …, xn.

13.  задана последовательность из n целых чисел и целое

число р. найти сумму элементов, кратных р.

14.   даны целые числа х1, х2, …, xn (в этой последовательности могут быть повторяющиеся члены). получить все числа, которые входят в последовательность по одному разу.

15.   даны натуральные х1, х2, …, xn (все числа попарно раз- личны). поменять в этой последовательности наибольший и наи- меньший члены.

16.   даны целые х1, х2, …, xn. получить новую последователь- ность, которая отличается от исходной тем, что все нечетные члены удвоены.

17.   даны целые а, х1, х2, …, xn. определить, каким по счету идет в последовательности х1, х2, …, xn член, равный а. если такого члена нет, то ответом должно быть число 0.

18.   найдите число ненулевых элементов в заданном целочис- ленном массиве А, состоящем из N элементов.


19.   составить программу, дающую ответ «да» или «нет» в зависимости от того, встречается ли число 7 в заданном целочис- ленном массиве А, состоящем из N элементов.

20.   дан массив вещественных чисел А из N элементов. най- дите количество элементов, больших среднего арифметического всех элементов массива.

21.   дан целочисленный массив А из N элементов. подсчи- тайте, сколько раз встречается в этом массиве максимальное по величине число.

22.   дан целочисленный массив А из N элементов. проверьте, есть ли в нем элементы, равные нулю. если есть, найдите номер первого из них, т. е. наименьшее i, при котором элемент ai = 0.

23.  дан целочисленный массив А из N элементов. подсчитайте

наибольшее число одинаковых элементов, идущих в нем подряд.

24.   подсчитайте количество различных чисел, встречающихся в массиве целых чисел А из N элементов. повторяющиеся числа учитывайте только один раз.

25.   дан массив целых чисел А из N элементов. составить про- грамму для построения массива, в котором все отрицательные элементы массива А предшествуют всем неотрицательным.

26.  NNданы целочисленные массивы А и В, состоящие из N эле-


2ментов, причем a1 £ a


£, …, £ a


и b1 £ b


£, …, £ b . постройте


22Nмассив целых чисел С, содержащий все элементы массивов А и В,


2в котором c1 £ c


£, …, £ c .


27.   даны три целочисленных массива А, В и С, каждый из которых состоит из N элементов. известно, что существуют целые числа, встречающиеся во всех трех массивах. найдите одно из таких чисел.

28.   дан целочисленный массив А из N элементов. составить программу, которая упорядочивает его элементы по возрастанию.

29.   организовать поиск в массиве А из N целых чисел эле- мента, равного заданному числу x (найти номер i первого вхожде- ния числа x в массив).


30.  задан целочисленный массив А из N элементов. найти максимальный элемент. построить массив В:

 


ì0,        1 £ i

b =


£ imax ,


i         í2a , i


< i £ N ,


î    i         max

 

где imax     номер первого входящего в массив максимального элемента.

31.  дан массив А из N элементов. найти массив В из N эле- ментов, где


 

1)        ib =


ai                             ,


i = 1, , N;


i1+ (a1 + a2


+ ... + a )2


 


 

2)         b = a , b


= a ,


b = ai +1 - ai ,


i = 2,, N -1.


1           1          N             N           i                  3

32. пусть x1 = y1 = 1, x2 = y2 = 2,

iy    - y             x2     + x    + y


xi =

получить


i -1

i


i - 2 , y =


i -1


i - 2

i!


i -1 ,


i = 3, 4, .


1) x1, y1, x2, y2, …, x25, y25;

2) y1/2, y2/3, …, y25/26.

33.  вычислить

å(a - b ) ,  30

2

i           i

i =1

 

где



34.   даны два массива А и В. каждый массив состоит из N элементов. посчитать количество тех элементов массива, для которых:

1)  ai > bi;

2)  ai = bi;

3)  ai < bi.

35.   дана последовательность из 100 целых чисел. определить количество чисел в наиболее длинной подпоследовательности из подряд идущих нулей.

36.   дано 200 вещественных чисел. определить, сколько из них больше своих «соседей», т. е. предыдущего и последующего числа.

37.   дан целочисленный массив А из N элементов и натураль- ное число k < N. определить номер и значение минимального из последних k элементов массива А.

38.   дан целочисленный массив А из N элементов и число натуральное k < N. определить номер и значение максимального из первых k элементов массива А.

39.   дан целочисленный массив А из N элементов и число натуральное k £ N. исключить из массива а элемент с номером k.

40.   дан целочисленный массив А из N элементов. опреде- лить номер и значение максимального из четных элементов этого массива.

41.   дан целочисленный массив А из N элементов. определить номер и значение максимального из нечетных элементов этого массива.

42.   дан целочисленный массив А из N элементов. определить номер и значение минимального из элементов этого массива, крат- ных 5.

43.   дан целочисленный массив А из N элементов. упорядо- чить его по убыванию.

44.   дан целочисленный массив А из N элементов. упорядочить его по убыванию количества цифр в записи каждого элемента.

45.   дан целочисленный массив А из N элементов. упорядочить его по возрастанию первой цифры в записи каждого элемента.