Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Касаткин С., Раткевич И., Травова Н. - Лаборато...doc
Скачиваний:
1
Добавлен:
22.11.2019
Размер:
1.01 Mб
Скачать
  1. Программа, которая выводит на экран треугольник Паскаля (треугольник биноминальных коэффициентов)

Программа иллюстрирует применение строк для центрирования по горизонтали при выводе результата

#include<iostream>

#include<windows.h>

#include<iomanip>

#include<math.h>

#include<conio.h>

#include<string>

#include<ctype.h>

#include <stdlib.h>

using namespace std

/* Для вычисления каждого биноминального коэффициента используем рекурсивную функцию из Лаб. работы №3.*/

int C(int m, int n)

{

if (m == 0 || m == n)

return 1;

else return C(m,n-1)+C(m-1, n-1);

}

int main()

{

if(SetConsoleCP(1251)==0)

{

cerr<<"Fialed to set codepage!"<<endl;

}

if(SetConsoleOutputCP(1251)==0)

{

cerr<<"Failed to set OUTPUT page!"<<endl;

}

int k; // количество строк треугольника

do

{

Cout << "Задайте число строк >0 и <=17 --> ";

/* при k > 17 треугольник не уместится на экране */

Cin >> k;

} while (k<1 || k>17);

int y = 3;

// Номер строки, начиная с которой будет выводится треугольник

char str[81], tmp[11];

// строка для вывода на экран и строка для хранения числа

for (int n=0; n < k; n++) // идем по строкам треугольника Паскаля

{

str[0] = '\0';

for (int m=0; m<=n; m++)

// вычисляем коэффициенты в одной строке

{

itoa(C(m,n), tmp, 10);

// делаем из коэффициента строку tmp

strcat(str, tmp);

// добавляем строку tmp в строку str

strcat(str, " "); // разделяем числа пробелами

}

int x = 41-strlen(str)/2; /* определяем, с какой позиции в строке экрана должна начинаться выводимая строка треугольника Паскаля */

for(int i=0; i<x; i++)

cout<<" ";

cout << str << endl; /* выводим строку с заданной позиции (строка центрирована по горизонтали) */

y++; // переходим к следующей строке экрана

}

_getch();

return 0;

}

Задания для самостоятельного выполнения

  1. Написать программу, которая считывает строку символов с клавиатуры и распечатывает в столбик: символ –-> код –-> его двоичный эквивалент для каждого символа. Выполнить отладку программы на тестовом примере "01A" (код '0' – 48, код латинской буквы 'A' – 65).

  2. Написать программу, которая считывает строку символов с клавиатуры и распечатывает в столбик: символ –-> код –-> его 8-й эквивалент для каждого символа. Выполнить отладку программы на тестовом примере "01A" (код '0' – 48, код латинской буквы 'A' – 65).

  3. Написать программу, которая считывает строку символов с клавиатуры и распечатывает в столбик: символ –-> код –-> его 16 -й эквивалент для каждого символа. Выполнить отладку программы на тестовом примере "1AK" (код '0' – 48, код латинской буквы 'A' – 65).

  4. Написать программу, которая переводит число из 2-й сис­те­мы счисления в 12-ю через 10-ю. Выполнить отладку прог­раммы с помощью какого–либо примера, подготовленного Вами на бумаге.

  5. Написать программу, которая переводит число из 3-й сис­те­мы счисления в 13-ю через 10-ю. Выполнить отладку прог­раммы с помощью какого–либо примера, подготовленного Вами на бумаге.

  6. Написать программу, которая переводит число из 4-й сис­те­мы счисления в 14-ю через 10-ю. Выполнить отладку прог­раммы с помощью какого–либо примера, подготовленного Вами на бумаге.

  7. Написать программу, которая переводит число из 12-й сис­те­мы счисления в 2-ю через 10-ю. Выполнить отладку прог­раммы с помощью какого–либо примера, подготовленного Вами на бумаге.

  8. Написать программу, которая переводит число из 13-й сис­те­мы счисления в 3-ю через 10-ю. Выполнить отладку прог­раммы с помощью какого–либо примера, подготовленного Вами на бумаге.

  9. Написать программу, которая переводит число из 15-й сис­те­мы счисления в 5-ю через 10-ю. Выполнить отладку прог­раммы с помощью какого–либо примера, подготовленного Вами на бумаге.

  10. Написать программу, которая переводит число из 2-й сис­те­мы счисления в 8-ю, не переводя все число в 10-ю . Выполнить от­лад­ку прог­раммы с помощью какого–либо примера, подготовлен­ного Вами на бумаге.

  11. Написать программу, которая переводит число из 3-й сис­те­мы счисления в 9-ю, не переводя все число в 10-ю. Выполнить от­лад­ку прог­раммы с помощью какого–либо примера, подготовлен­ного Вами на бумаге.

  12. Написать программу, которая переводит число из 8-й сис­те­мы счисления в 2-ю, не переводя все число в 10-ю. Выполнить от­лад­ку прог­раммы с помощью какого–либо примера, подготовлен­ного Вами на бумаге.

  13. Написать программу, которая переводит число из 9-й сис­те­мы счисления в 3-ю, не переводя все число в 10-ю. Выполнить от­лад­ку прог­раммы с помощью какого–либо примера, подготовлен­ного Вами на бумаге.

  14. Написать программу, которая считывает строку символов, которая считывает строку, содержащую только числа (с проверкой символов при вводе) и под­счи­тывает количество знаков “минус” в строке.

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

  16. Написать программу, которая считывает строку символов, состоящую только из латинских букв, пробелов и знаков препинания (с проверкой символов при вво­де). Подсчитать, сколько символов верхнего регистра содержится в строке.

  17. Написать программу, которая считывает две строки символов, состоящие только из цифр и пробелов (напишите подпрограмму для посимвольного ввода с провер­кой). Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экран.

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

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

  20. Написать программу, которая считывает строку символов, состоящую только из слов, записанных русскими буквами, пробелов и знаков препинания (с проверкой правильности вво­ди­мых символов). Удалить лишние пробелы из строки, т.е. оставить между словами только 1 пробел.

  21. Написать программу, которая считывает две строки символов одинаковой длины и проверяет, является ли вторая строка анаграммой первой, т.е. может ли оно быть получено некоторой перестановкой букв первого слов (например: крот и корт).

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

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

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

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

  26. Написать программу, которая считывает строку текста, состоящую только из слов, записанных русскими буквами, разделенных пробела­ми (с проверкой пра­вильности ввода). Если в слове встречаются две идущие подряд большие буквы, заменить вторую большую букву ма­лень­кой.

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

  28. Написать программу, которая считывает строку текста, состоя­щую только из цифр, пробелов и запятых (с проверкой правильности ввода). Удалить запятые из строки и результат вывести на экран.

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

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

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.