Обработка символьных строк




Ветвления и циклы

1. Дано натуральное число N. Вычислить .

2. Дано натуральное число N. Вычислить

, где .

3. Даны вещественные числа x, y. Вычислить

4. Дано натуральное число N. Вычислить

5. Дано натуральное число N. Вычислить

6. Даны целые положительные числа i, k. Вычислить

7. Дано натуральное число N. Вычислить

8. Дано натуральное число N. Вычислить при

9. Даны натуральное число N и вещественное x. Вычислить

10. Даны вещественные числа x, y. Вычислить

11. Дано вещественное число А > 0. числа Bi образуются по закону

Найти среди чисел Bi первое, большее А.

12. Даны натуральное число N и вещественное x. Вычислить

13. Даны натуральное число N и вещественное x. Вычислить

14. Дано натуральное число N. Вычислить произведение первых N членов последовательности: 1/1, 8/9, 15/17, 22/25,…

15. Даны натуральное число N и вещественное f. Вычислить

16. Последовательность образована по правилу Дано вещественное число ε: 0< ε <0.1. Найти такое , чтобы

17. Даны вещественные числа A > 1 и B. Распечатать все числа Ci = Ai (i = 1, 2,…), меньшие B.

18. Дано натуральное число N. Вычислить произведение первых N членов последовательности: 1/2, 7/8, 13/14, 19/20,…

19. Даны натуральное число N и вещественное x. Вычислить

20. Даны целые числа a и b. Используя директиву #define для нахождения наименьшего из двух чисел, вычислить значение

где

21. Не используя оператора if, присвоить переменной S значение 0, если введённое число x лежит вне отрезков [2..5] и [–1..1], и значение 1 – в противном случае.

22. Дано натуральное число N > 2. Вычислить

23. Даны вещественные числа x, y. Найти значение Область D задана графически.  

24. Дано натуральное число N. Вычислить

Шахматы

25. Поле шахматной доски определяется парой натуральных чисел, первое из которых задаёт номер вертикали, а второе – номер горизонтали. Даны натуральные числа k, l, m, n. Выяснить, угрожает ли ферзь, стоящий на поле (k, l), полю (m, n).

26. Поле шахматной доски определяется парой натуральных чисел, первое из которых задаёт номер вертикали, а второе – номер горизонтали. Даны натуральные числа k, l, m, n. Требуется выяснить, являются ли поля (k, l) и (m, n) полями одного цвета.

27. Поле шахматной доски определяется парой натуральных чисел, первое из которых задаёт номер вертикали, а второе – номер горизонтали. Даны натуральные числа k, l, m, n. Выяснить, угрожает ли конь, стоящий на поле (k, l), полю (m, n).

28. Поле шахматной доски определяется парой натуральных чисел, первое из которых задаёт номер вертикали, а второе – номер горизонтали. Даны натуральные числа k, l, m, n. Требуется, если возможно, с поля (k, l) одним ходом ферзя попасть на поле (m, n). Если нет, то определить, как это сделать за два хода.

Факториалы

29. Дано натуральное число N. Вычислить

30. Даны натуральные числа N и M (N > M). Вычислить .

31. Дано натуральное число N. Вычислить .

32. Даны натуральные числа N и M. Вычислить .

Символьные массивы

33. Ввести последовательность символов, заканчивающуюся ‘@’. Распечатать только те из них, которые не являются буквой А

34.. Ввести последовательность символов, заканчивающуюся EOF. Распечатать только те из них, которые расположены до первого символа ‘:’.

35. В последовательности введённых символов, заканчивающейся ‘$’, определить порядковый номер первой буквы R (с учётом верхнего и нижнего регистров).

36. Во введённой строке символов, заканчивающейся ‘$’, подсчитать общее количество цифр и букв S.

37. Во введённой строке символов заменить каждую точку и запятую на точку с запятой и распечатать полученную строку.

38. Ввести строку букв и определить, располагаются ли буквы в порядке, обратном алфавитному.

39. Ввести строку, состоящую только из букв и цифр. Выяснить, верно ли, что сумма значений цифр, встречающихся в строке, равна её длине.

40. Ввести два предложения и распечатать самые длинные общие слова предложений. Если общих слов нет, выдать сообщение об этом.

41. Распечатать введённую строку, заменив строчные буквы прописными и повторив каждую цифру.

42. Определить, содержит ли введённый текст символы, отличные от строчных латинских букв и пробела.

43. Распечатать введённую строку, удалив из неё все символы, не являющиеся буквами или цифрами и заменив каждую цифру двумя символами ‘*.’

44. Ввести предложение, слова в котором разделены запятыми и пробелами. Удалить из него слова, встречающиеся более одного раза и распечатать результат.

45. Среди цифр введённой строки распечатать ту, которая встречается чаще других. Если цифр с одинаковой частотой появления несколько, то распечатать ту, которая встретилась первой.

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

Матрицы

47. Сформировать квадратную матрицу n*n вида

      n-2 n-1 n
      n-3 n-2 n-1
      n-4 n-3 n-2
           
           
           

48. Сформировать и распечатать квадратную матрицу n*n следующего вида:

      . . .  
             
             
. . . . . . .
. . . . . . .
. . . . . . .
      . . . n

49. Сформировать и распечатать квадратную матрицу n*n вида

           
           
           
           
           
           

50. Сформировать и распечатать квадратную матрицу n*n вида

           
           
           
           
           
           

51. Сформировать и распечатать квадратную матрицу n*n вида

       
       
       
      n

52. Сформировать и распечатать квадратную матрицу N*N вида

         
         
         
….
  N-1      
N        

53. Заполнить квадратную таблицу n*n последовательными целыми числами от 1 до n2, расположенными по спирали, начиная с левого верхнего угла и продвигаясь по часовой стрелке.

Обработка массивов

54. Сеть авиалиний, соединяющая города, задана матрицей связности М, где mij=1, если города i и j связаны напрямую и mij =0 в противном случае. Напечатать все пары городов, которые связаны не напрямую, но не более чем с одной пересадкой.

55. Написать и протестировать функцию, вычисляющую разность между максимальным и минимальным по абсолютной величине элементами целочисленного массива. Системные функции не использовать!

56. Задано множество m точек в трёхмерном пространстве. Найти такую из них, что шар заданного радиуса с центром в этой точке содержит максимальное число точек множества.

57. Проведено измерение роста M новобранцев. Данные записаны в массиве GROWTH. Разместить в массиве KID номера новобранцев, чей рост меньше 180 см, и подсчитать число таких новобранцев.

58. Результаты сдачи экзамена группой из N студентов размещены в массиве RES. Разместить в массиве GOOD номера студентов, сдавших экзамен на «хорошо» и «отлично», и подсчитать число таких студентов.

59. Даны вещественные числа а и b (a < b). Сформировать и распечатать матрицу m*n, элементами которой являются вещественные случайные числа, равномерно раcпределённые на отрезке [a, b]. Найти строку с минимальным элементом и поменять её местами с первой строкой.

Представление чисел

60. Целой переменной D присвоить первую цифру из дробной части вещественного положительного числа.

61. Составить программу, печатающую ДА или НЕТ в зависимости от того, входит ли введённая цифра в заданное натуральное десятичное число.

62. Определить, встречается ли введённая цифра среди первых трёх цифр дробной части заданного вещественного числа.

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

64. Даны натуральные числа n и k. Определить k-ю справа цифру числа n.

65. Дано натуральное число n. Вычислить сумму цифр числа, находящихся на нечётных позициях. Нумерация позиций слева направо.

66. Дано натуральное число N. Найти сумму его цифр, находящихся на чётных позициях. Позиции нумеруются слева направо.

67. Дано натуральное число N. Подсчитать количество различных цифр, встречающихся в k старших разрядах его записи.

68. Дано натуральное число n. Вычислить сумму k старших цифр числа.

69. Распечатать все трёхзначные десятичные числа, сумма цифр которых равна М, и количество таких чисел. Если их нет, выдать сообщение.

70. Напечатать все трёхзначные натуральные числа, в десятичной записи которых нет двух одинаковых цифр и цифры упорядочены по возрастанию слева направо.

71. Выяснить, сколько натуральных чисел между n и m>n состоит из нечётных цифр и сколько из различных цифр. Напечатать сами числа и их количества.

72. Среди простых чисел, не превосходящих n, найти такое, в двоичной записи которого максимальное число единиц.

73. Напечатать все простые числа, не превосходящие заданного n, двоичная запись которых представляет собой симметричную последовательность нулей и единиц, начинающуюся единицей.

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

75. Найти все двузначные числа, сумма цифр которых не меняется при умножении числа на 1, 2, 3, 4, 5, 6, 7, 8, 9.

76. По введённому символу установить, в каких позициях его двоичного кода записаны нули.

77. Целое положительное число m записывается в двоичной системе счисления, и разряды в этой записи переставляются в обратном порядке. Получившееся двоичное число переводится в десятичную систему счисления, и принимается за значение функции F(m). Например, m=41, F(m)=37. Написать и протестировать функцию, вычисляющую значение F(m) для натурального m.

78. Целое положительное число m записывается в восьмеричной системе счисления, и разряды в этой записи переставляются в обратном порядке. Получившееся восьмеричное число переводится в десятичную систему счисления, и принимается за значение функции F(m). Например, m=477, F(m)=351. Написать и протестировать функцию, вычисляющую значение F(m) для натурального m.

79. Целое положительное число m записывается в шестнадцатеричной системе счисления, и разряды в этой записи переставляются в обратном порядке. Получившееся шестнадцатеричное число переводится в десятичную систему счисления, и принимается за значение функции F(m). Например, m=513, F(m)=258. Написать и протестировать функцию, вычисляющую значение F(m) для натурального m.

Обработка символьных строк

80. Написать и протестировать аналог функции Strncat().

81. Написать и протестировать функцию Issubstr(str1, str2), которая ищет подстроку str1 в строке str2. Функция возвращает указатель на первый символ подстроки либо NULL, если подстрока не найдена.

82. Написать и протестировать аналог функции Strspn().

83. Написать и протестировать функцию Strs(str1, str2), которая ищет в строке str1 какой-нибудь символ из строки str2. Функция возвращает указатель на первый найденный символ либо NULL, если str1 и str2 не имеют общих символов.

84. Написать и протестировать аналог функции Strncmp().

85. Написать и протестировать аналог функции Strncpy().

86. Написать и протестировать функцию Strend(str1, str2), которая возвращает 1, если строка str1 расположена в конце str2, и 0 в противном случае.

87. Написать и протестировать функцию Wrdlc(st1, st2), возвращающую указатель на самое длинное слово предложения st1, встречающееся в предложении st2, или NULL если общих слов нет.

88. Написать и протестировать функцию Escape(str1, str2), которая копирует текст из str1 в str2, заменяя при этом символы перевода строки и табуляции видимыми последовательностями символов \n и \t.

89. Написать и протестировать функцию Strp(str1, str2), которая возвращает указатель на первое вхождение символа из строки str2 в строку str1. Если ни один символ строки str2 не входит в строку str1, то возвратить NULL.

90. Написать и протестировать функцию Stoi(string, intptr), преобразующую символьную строку string в целое число. Функция возвращает 0, если преобразование возможно и 1 в противном случае.

91. Написать и протестировать функцию Delete(str1, str2), которая удаляет из строки str1 все символы, встречающиеся в строке str2.

92. Написать и протестировать аналог функции Strchr().

93. Написать функцию, преобразующую вводимую с клавиатуры строку цифр в натуральное число. Функция должна

– возвращать значение введённого числа;

– игнорировать попытки ввода символов, отличных от цифр;

– выдавать сообщение об ошибке при попытке ввода числа, превышающего допустимое значение типа unsigned int.

Всякая всячина

94. Поменять местами значения целых переменных А и В, не используя дополнительные переменные.

95. Распечатать в порядке убывания нечётные числа из диапазона [5..90], кратные 3 и не кратные 5.

96. Даны целые числа x, y и вещественное число z. Используя директиву #define для нахождения большего из чисел, вычислить S = max(x + y + z, xyz) +3max(xy, 2 + z, 2)

97. Среди N введённых целых положительных и отрицательных чисел найти количество пар соседей разных знаков.

98. Идёт k –тая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту.

99. Составить программу, печатающую ДА или НЕТ в зависимости от того, имеют ли три целых введённых числа одинаковую чётность.

100. Дано натуральное число N. Выяснить, есть ли среди чисел

хотя бы одно число, кратное двум и не кратное трём.

101. Дано натуральное число k. Определить k- тую цифру последовательности, в которой выписаны подряд степени числа 10: 110100100010000100000…

102. Распечатать в порядке убывания все делители введённого натурального числа.

103. Даны вещественные числа Выяснить, можно ли построить четырёхугольник с длинами сторон, равными этим числам.

104. Составить программу, которая по двум введённым вещественным числам вычисляет коэффициенты p и q приведённого квадратного уравнения, корнями которого являются эти числа, и печатает это уравнение в виде x^2+px+q=0.

105. Определить k -тую цифру последовательности 182764125216343…, в которой выписаны подряд кубы натуральных чисел.

106. В ГИБДД обратились три свидетеля ДТП. Один заметил, что номер нарушителя делится на 2, 7 и 11. Второй запомнил, что в записи номера участвуют всего две различных цифры. Третий сказал, что сумма цифр номера равна 30. Определить четырёхзначный номер нарушителя.

107. Определить k-тую цифру последовательности 1234567891011121314…, в которой выписаны подряд все натуральные числа.

108. Дано натуральное число N > 10. Вычислить сумму всех чисел Фибоначчи fk, которые не превосходят N. Закон Фибоначчи: f1 = 1, f2 = 1, fk+1=fk-1+fk.

109. Дано положительное число a. Найти k-ое число Фибоначчи, такое, что Числа Фибоначчи:

110. Найти все простые несократимые дроби, заключённые между 0 и 1, знаменатели которых не превосходят заданного числа lim.

111. Выяснить, сколько существует четырёхзначных чисел, кратных 45, две средние цифры которых 7 и 9. Распечатать сами числа и их количество.

112. Напечатать все представления натурального числа n суммой натуральных чисел. Перестановки слагаемых исключить.

113. Найти наименьшее общее кратное и наибольший общий делитель для n введённых натуральных чисел.

114. Выяснить, какие цифры (по одной справа и слева) нужно приписать к числу 1022, чтобы полученное число делилось на 7, 8, 9. Распечатать это число.

115. По трём введённым вещественным числам выяснить, можно ли построить треугольник с такими длинами сторон. Если можно, то определить тип треугольника (равносторонний, равнобедренный, прямоугольный, общего вида).

116. Записать введённую формулу в постфиксной форме. В записи формулы используются только имена переменных, знаки операций +, –, *, /, и круглые скобки. Имя переменной – это последовательность букв и цифр, начинающаяся с буквы. Длина имени не более шести символов.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: