#include <stdio.h>#include <stdlib.h>#include <string.h>#include <locale.h> //Максимальная длина вводимой строки#define Mx_s 255 //Массив символов, которые //необходиом удалить в начале и конце строкиchar sim[] = { '\t', ' '};//Функция проверяющая входит ли данный символ c в массив simint char_in_arr(char c) { int f = 0; for (int i = 0; i < strlen(sim); i++) { if (c == sim[i]) { f = 1; break; } } return f;}
int main(){ setlocale(LC_ALL, "rus"); //Вводимая строка char s[Mx_s]; //Ввод данных printf("\n >> Введите строку\n <<"); fgets(s, Mx_s, stdin); int l = strlen(s) - 1; //Переменные для определения отсечений в начале и конце строки int pos_b = 0; int pos_e = l-1; //Проверяем начало строки //Если нам попадаются удаляемые символы то увеличиваем значение pos_b for (;(pos_b < l) && char_in_arr(s[pos_b]); pos_b++) {} //Проверяем конец строки //Если нам попадаются удаляемые символы то уменьшаем значение pos_e for (;(pos_e >= 0) && (char_in_arr(s[pos_e])); pos_e--) {} //Длина отсеченного отрезка int l2 = pos_e - pos_b + 1; //Если длина корректа то if (l2 > 0) { //Строка для результата char s2[Mx_s]; //Идем по строке s1 int pos = 0; for (int i = pos_b, k_s = 0; i <= pos_e; i++) { //Считаем пробелы, идущие подряд if (s[i] == ' ') k_s++; else k_s = 0; //Если это не подряд идущие пробел if (k_s < 2) { //записываем символ в s2 s2[pos] = s[i]; pos++; } } s2[pos] = '\0'; //Вывод результат printf("\n >> Результат\n <<"); fputs(s2,stdout); } else //Строка пуста/Содержит только символы из массива sim printf("\n >> Ошибка в строке\n"); system("pause>>void"); return 0;}
Var a,b:integer; Begin Write('a = ');ReadLn(a); Write('b = ');ReadLn(b); if a mod b = 0 then WriteLn(b,' - делитель ',a) else WriteLn(b,' не является делителем ',a) End.
Вторая программа:
Var a,b:real; Begin WriteLn('a и b - катеты прямоугольного треугольника'); Write('a = ');ReadLn(a); Write('b = ');ReadLn(b); WriteLn('S = ',a*b/2); WriteLn('P = ',Sqrt(a*a+b*b)+a+b); End.
Пример работы программы:
a и b - катеты прямоугольного треугольника a = 3 b = 4 S = 6 P = 12
Примечание: программа не проверяет, существует ли треугольник и является ли он прямоугольным.
Третья программа:
Var a,b,c,D:real; Begin WriteLn('ax^2 +bx +c = 0'); Write('a = ');ReadLn(a); Write('b = ');ReadLn(b); Write('c = ');ReadLn(c); D:=b*b-4*a*c; if D < 0 then Write('Действительных корней нет') else Begin WriteLn('x1 = ',(-b-Sqrt(D))/(2*a)); WriteLn('x2 = ',(-b+Sqrt(D))/(2*a)); End End.
Четвёртая программа:
Var a,b,c:real; Begin Write('Введите три числа: ');ReadLn(a,b,c); a:=Abs(a-c); b:=Abs(b-c); if a < b then WriteLn('Первое число ближе к третьему') else if a > b then WriteLn('Второе число ближе к третьему') else WriteLn('Первое и второе число - одинаково близки к третьему') End.
Пример работы программы:
Введите три числа: 1 2 3 Второе число ближе к третьему
Введите три числа: 1 1 3 Первое и второе число - одинаково близки к третьему
Введите три числа: 2 1 13 Первое число ближе к третьему
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку