Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

задачи (1)

.pdf
Скачиваний:
37
Добавлен:
29.05.2015
Размер:
620.83 Кб
Скачать

29.Дан текст из строчных латинских букв, за которым следует точка. Напечатать в алфавитном порядке все буквы, которые входят в этот текст по одному разу.

30.Дана строка, содержащая последовательность слов, в каждом из которых от 1 до 10 строчных латинских букв; между соседними словами - не менее одного пробела, за последним словом - точка. Напечатать эти слова по алфавиту.

31.Дана строка символов, содержащая некоторый текст на русском языке. Сформатировать этот текст, т.е. разбить его на отдельные строки (по 30 символов в каждой) и выровнять по правой границе путем вставки между отдельными словами необходимого количества пробелов.

32.Дана строка символов, в которой могут встречаться цифры, пробелы, буква E и знаки +, -. Известно, что первый символ является цифрой. Из данной строки выделить подстроку символов, предшествующих первому пробелу. Требуется определить, является ли эта подстрока числом. Если да, то выяснить: целое или вещественное число, положительное или отрицательное.

33.Дана строка символов, содержащая некоторый текст. Определить, является ли данный текст полиндромом, т.е. читается ли он одинаково слева направо и справа налево.

34.Дана строка, содержащая последовательность слов; между соседними словами - пробел, за последним словом точка. Напечатать все слова наименьшей длины.

35.Задан одномерный массив, каждым элементом которого является строка символов, состоящая из одних цифр. Рассматривая каждую строку как число, определить сумму четных и нечетных значений элементов массива.

36.Для некоторого слова определить, входит ли каждая из его букв в заданный текст.

37.Определить, является ли заданный текст правильной записью целого числа (возможно со знаком).

38.Напечатать заданный текст, удалив из него лишние пробелы, т.е. из нескольких подряд идущих пробелов оставить только один.

39.Дан текст из цифр и строчных латинских букв, за которым следует точка. Определить, каких букв - гласных (a, e, i, o, u) или согласных больше в этом тексте.

31

40.В заданный текст входят только буквы и цифры. Определить содержит ли текст только одну цифру и при этом ее числовое значение равно длине текста.

41.Дана строка, содержащая последовательность слов; между соседними словами - запятая, за последним словом точка. Напечатать все слова, отличные от последнего слова.

42.Дана последовательность латинских слов; соседние слова отделены друг от друга запятой, за последним словом следует точка. Определить количество слов, которые начинаются и оканчиваются одной и той же буквой.

43.Дана строка символов, состоящая из нулей, единиц и пробелов. Группы нулей и единиц, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Найти самое длинное и самое короткое слово в строке и, рассматривая эти слова как числа, определить их сумму.

44.Для условий предыдущей задачи определить общее количество слов в строке и количество, делящихся на 5 без остатка.

45.Для заданного текста (5 строк по 40 символов) распечатать все латинские буквы, входящие в этот текст, в алфавитном порядке.

46.Составить программу, которая читает произвольные строки длиной 80 символов, разбивает их по словам (подстрока между двумя пробелами) и находит самое длинное слово. Ввод строк заканчивается вводом символа '!', который не является элементом строки.

47.Напечатать в алфавитном порядке все различные строчные русские буквы, входящие в заданный текст.

48.В заданном тексте удалить все символы, не являющиеся буквами или цифрами и заменить каждую большую букву одноименной малой.

49.В заданном тексте подсчитать количество слов, у которых совпадают первая и последняя буквы.

50.Задан текст, состоящий из цифр. Упорядочить элементы строки по возрастанию их числовых значений. От максимального элемента отнять значение минимального и вывести на экран.

32

6. Программирование двумерных массивов данных

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

1.Дана целочисленная квадратная матрица A порядка n. Получить вектор B={bi}, i=1...n, где bi - наименьшее из значений элементов

ai1, ai2, ..., aii, (т.е. элементов, находящихся в начале i- той строки

матрицы A до элемента, принадлежащего главной диагонали, включительно).

2.Задана целочисленная квадратная матрица. Из этой матрицы выбрать столбец, который обладает наибольшей суммой модулей элементов. Далее в этом столбце найти наименьшее значение.

3.Получить вектор X={x1, x2, ... xm}, равный p-ой строке матрицы A={aij} и вектор Y={y1, y2, ... , yn}, равный q-му столбцу матрицы А.

4.Для вещественной квадратной матрицы A найти сумму элементов, находящихся ниже главной диагонали и начинающихся на цифру 7.

5.Задана вещественная прямоугольная матрица. В каждой строке выбрать элемент с наименьшим значением, затем среди этих чисел выбрать наибольшее.

6.Составить программу для вычисления матрицы B={bij}, (i = 1…n, j=1…m), равной произведению числа l на матрицу А={aij}. Каждый элемент матрицы В вычисляется по формуле bij=l.aij, где l- наибольший элемент вектора Z = {zi}.

m

7. Найти норму заданной матрицы А по формуле N = max aik

i k =1

(т.е. максимальное значение из сумм элементов каждой строки).

8.Дана матрица А. Найти сумму элементов матрицы, расположенных в строках с отрицательным элементом на главной диагонали.

9.Задан двухмерный массив вещественных чисел. Необходимо каждый элемент соответствующей строки разделить на сумму элементов этой строки.

33

10.В заданном двухмерном массиве заменить все отрицательные элементы нулями и подсчитать сумму положительных элементов в каждом столбце.

11.Задан двухмерный массив A размерности n*m. Дополнить его (n+1)- й строкой и (m+1)-м столбцом, в которые записать суммы элементов соответствующих строк и столбцов исходного массива A.

12.Дана вещественная матрица размером 20×30. Упорядочить ее строки по убыванию суммы их элементов.

13.Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце. Для заданной целой матрицы размером m×n распечатать индексы всех ее седловых точек.

14.Дана вещественная матрица, все элементы которой различны. Найти произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.

15.Дана целочисленная матрица. Заменить все большие семи элементы массива числом 7. Вычислить количество таких членов.

16.Дана целочисленная матрица. Все элементы, меньшие 2, заменить нулями. Кроме того, получить число отрицательных членов, индексы которых принадлежат отрезку [3, 7].

17.Получить действительную матрицу А, первая строка которой

задается формулой a1j=2j+3, вторая строка задается формулой a2 j = j 2 +31 j , а каждая последующая строка есть сумма двух

предыдущих.

18. Дано натуральное число n. Получить действительную матрицу А, для

 

 

 

 

 

 

 

 

Sin(i + j),

при i < j

 

которой aij

 

при i = j

 

.

= 1,

 

 

 

 

i +

j

 

 

 

 

 

в остальных случаях

 

 

arcsin

 

 

 

 

2i +3 j

 

 

 

 

 

 

19.Дана целочисленная квадратная матрица. Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках.

34

i, j будем

20.Задана матрица размерности n×m. Необходимо, не используя другого вспомогательного массива, транспонировать данную матрицу.

21.Дана целочисленная квадратная матрица. Найти номера строк, все элементы которых четны.

22.Дана вещественная матрица. Найти сумму элементов столбца, в котором находится наименьший элемент матрицы.

23.Задана целочисленная квадратная матрица. Из этой матрицы выбрать столбец, который обладает наибольшей суммой модулей элементов. Далее в этом столбце найти наименьшее значение из его элементов.

24.Задана матрица размерности n×m. Требуется упорядочить строки матрицы по возрастанию сумм их элементов.

25.Задана матрица размерности n×m. Найти номера столбцов элементы каждого из которых образуют возрастающую последовательность. Если таких столбцов нет, вывести сообщение.

26.Дана целочисленная матрица A = {aij} i= 1 .. n, j= 1 . . m. Для данной

матрицы

найти матрицу из нулей и единиц B={bij},

i=1 . . n,

j = 1 . . m, в которой элемент равен 1, когда все соседи aij

меньше самого aij (соседями элемента с индексами

называть такие элементы этой матрицы, соответствующие индексы которых отличаются от i и j не более чем на единицу).

27.Вычислить элементы матрицы С, являющейся разностью заданных квадратных матриц А и В порядка n. Затем вычислить элементы вектора Z, равного произведению матрицы С на заданный вектор X длиной n и выделить максимальный элемент вектора Z.

28.Вычислить элементы матрицы С , являющейся произведением матрицы А размерностью n×m и В размерностью m×k. Элементы последней строки матрицы С заменить на максимальный элемент этой матрицы.

29. Дана матрица

А = { aij } составить программу построения

целочисленного вектора К = { ki },

который вычисляется по

следующему правилу:

1, еслиэлементы i - ой строки попарно различные числа; ki = 0 - впротивном случае.

35

30.Задана матрица размерности n×m. В каждой строке выбрать элемент с наименьшим значением, затем среди этих чисел выбрать наибольшее и указать его местоположение (индексы) в исходной матрице.

31.Преобразовать квадратную матрицу, осуществив поворот элементов вокруг её центра на 90 градусов против часовой стрелки.

32.Определить, является ли заданная целая квадратная матрица симметричной относительно главной диагонали.

33.Дана вещественная квадратная матрица. Найти скалярное произведение строки, в которой находится наибольший элемент матрицы на столбец с наименьшим элементом.

34.Определить, является ли заданная целая квадратная матрица магическим квадратом, т.е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.

35.В данной целочисленной квадратной матрице имеются одинаковые элементы. Указать индексы всех элементов, имеющих максимальное значение.

 

x

 

x

 

36. С помощью действительной матрицы

11

 

1n

X =

 

 

 

 

x21

x2n

на плоскости задано n точек так, что x1j

и x2j - координаты j-

той

точки. Точки попарно соединены отрезками. Найти длину наибольшего отрезка.

37.Дана действительная квадратная матрица порядка n. Построить последовательность a1 , a2 , . . . , an из нулей и единиц, в которой ai = 1 тогда и только тогда, когда элементы i - той строки матрицы образуют возрастающую последовательность.

38.Даны натуральные числа n и m, действительное число r,

действительная

матрица

размера n×m.

 

Получить

значение

b r n-1

+b r n-1

+ . .

. +b ,

где

b

k

-

первый по

порядку

1

2

 

 

n

 

 

 

 

 

положительный элемент в k - той строке матрицы (k=1, 2, . . . , n);

если в k- той строке нет положительных элементов, то bk=0,5.

39. Дана действительная

квадратная

матрица порядка n. Получить

x1xn +

x2xn-1 +

. . .

+ xnx1 ,

где

xk -

наибольшее значение

элементов k- того столбца данной матрицы.

36

40.Получить действительную матрицу A = {aij} i, j = 1 . . n, первая строка которой задается формулой a1j = 2j + 3 , вторая строка

задается формулой

a2 j

=

j

 

3

 

 

, а каждая следующая

2

+1

/

j

 

 

 

 

 

 

строка есть сумма двух предыдущих.

41.Задан двухмерный массив размерности n×m. Удалить из него строку и столбец, на пересечении которых находится минимальный элемент.

42.Дана действительная квадратная матрица порядка n. Вычислить сумму тех из ее элементов, расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы, расположенные ниже главной диагонали.

43.Дана целочисленная квадратная матрица A = {aij} i, j = 1 . . n.

Получить вектор b1 , b2 , . . . , bn , где

bi = a ji

для

всех

 

 

 

 

 

j

 

 

таких

 

 

j

 

,

 

что

1< aij n .

 

 

 

 

 

 

 

44. Для условий предыдущей задачи получить вектор b1 , . . . , bn

,

где bi - это

max a

ij

min a

ji

 

 

 

1≤ j n

1≤ j n

 

 

 

45.Дана целочисленная квадратная матрица порядка 8. Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов. Если таких столбцов несколько, то взять первый из них.

46.Даны действительная квадратная матрица порядка n, натуральные числа i, j (1≤i≤n, 1≤j≤n). Из матрицы удалить i-ю строку и j-ый столбец.

47.Дана вещественная матрица. Упорядочить ее строки по неубыванию их первых элементов.

48.Дана действительная квадратная матрица. Найти сумму положительных элементов матрицы, находящихся в тех строках, которые начинаются с отрицательного элемента.

49.Получить целочисленную квадратную матрицу порядка N, элементы которой являются числа 1, 2, 3, ..., N2, расположенные в ней по спирали.

37

50.Составить программу нахождения номера столбца квадратной матрицы с максимальным попарным произведением элементов, равноотстоящих от концов столбца.

7.Программирование файловых структур

1.Дан текстовый файл. Найти сумму всех чисел, входящих в этот файл.

2.Задан файл, компонентами которого являются строки символов. Требуется преобразовать каждую строку, переставив содержащиеся в ней пробелы в конец, и записать в тот же самый файл.

3.Переписать в текстовый файл Т2 содержимое текстового файла Т1, но без строк, содержащих цифры.

4.Сформировать на основе внешнего текстового файла Т1 файл Т2, разбивая Т1 на строки так, чтобы каждая строка оканчивалась либо точкой с запятой, либо содержала 30 любых литер, кроме точки с запятой. В качестве Т1 можно использовать файл с исходным текстом разработанной программы.

5.Даны текстовые файлы f и g. Определить, совпадают ли компоненты файла f с компонентами файла g. Если нет, то получить номер строки

ипозицию первого отличающегося символа.

6.Произвести сортировку значений элементов файла, содержащего целые числа и записать их в другой файл.

7.Даны два файла, содержащие целые числа, упорядоченные по возрастанию. Требуется слить их в один файл, также упорядоченный по возрастанию.

8.Определить максимальную длину строк некоторого текстового файла.

9.В текстовом файле записана последовательность вещественных чисел, разделенных пробелами. Определить наибольшее из этих чисел.

10.В файле записана последовательность целых чисел. Переписать из него все целые положительные числа в другой файл.

11.В заданном текстовом файле заменить все заглавные буквы строчными.

12.Содержимым входного файла является некоторая последовательность символов. Требуется переписать эти символы в

38

выходной файл, выбрасывая при этом символы, расположенные между скобками (, ). Сами скобки тоже выбрасываются.

13.Во входном файле задана непустая последовательность положительных вещественных чисел, за которой следует отрицательное число. Найти сумму этих положительных чисел.

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

15.Напечатать сумму цифр текстового файла, попадающих в интервал

[n, m].

16.Среди слов текстового файла выбрать те, которые оканчиваются на заданную гласную букву.

17.Дан файл f, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Числа в файле идут в следующем порядке: десять положительных, десять отрицательных, десять положительных, десять отрицательных и т.д. Переписать компоненты файла f в другой файл g так, чтобы в файле g числа шли в следующем порядке: пять положительных, пять отрицательных, пять положительных, пять отрицательных и т.д.

18.Дан текстовый файл. Распечатать все слова, отличные от последнего.

19.Дан файл f, компоненты которого являются целыми числами. Записать в файл g все четные числа файла f, а в файл h – все нечетные. Порядок следования сохраняется.

20.Дан символьный файл f. Подсчитать число вхождений в файл сочетаний ab.

21.Дан символьный файл f. Записать в файл g с сохранением порядка следования те символы файла f, которым в этом файле предшествует буква а.

22.Удалить из каждого слова текстового файла все предыдущие вхождения последней буквы.

23.Посчитать, сколько раз в текстовом файле встречается некоторое сочетание букв.

24.Распечатать из текстового файла только те слова, которые начинаются на заданную букву.

25.Из каждой строки текстового файла удалить среднюю букву, если длина строки нечетная, если четная – удалить две средние буквы.

39

26.В текстовом файле хранится несколько строк текста. Распечатать «Да», если все строки начинаются с одинаковой буквы, в противном случае распечатайте «Нет».

27.Распечатать из текстового файла все слова, в которых нет повторяющихся букв.

28.Дан символьный файл f. Найти самое длинное слово среди слов, вторая буква которых есть е; если слов с наибольшей длиной несколько, то найти последнее.

29.Распечатать все слова текстового файла в алфавитном порядке.

30.Дан текстовый файл. Составить программу вывода самой большой цифры файла.

31.Дан символьный файл f, содержащий произвольный текст длиной более 100 слов. Слова в тексте разделены пробелами и знаками препинания. Получить 10 наиболее часто встречающихся слов и число их появлений.

32.Даны текстовый файл, строка s. Получить все строки файла f, содержащие в качестве фрагмента строку s.

33.Выбрать из текстового файла все симметричные слова.

34.Распечатать слова, которые встречаются в заданном текстовом файле более одного раза.

35.Дан символьный файл f, содержащий произвольный текст. Распечатать все слова, которые начинаются на заданное сочетание символов.

36.Дан файл целых чисел. Найти сумму тех элементов, значения которых больше заданного числа.

37.Даны два файла целых чисел. Распечатать числа, которые встречаются в первом файле, но не встречаются во втором.

38.Дан файл вещественных чисел. Определить, есть ли две пары соседних элементов с одинаковыми знаками.

39.Из элементов файла целых чисел сформировать массив А по правилу: сперва записать в массив элементы с 3-го по 12-й, а затем все остальные.

40.Преобразовать текстовый файл следующим образом: если длина слова нечетное число, то в этом слове удалить среднюю букву.

41.Проверить в текстовом файле правильность написания сочетаний

«жи», «ши», «ча», «ща», «чу», «щу».

40