Решить на языке си(с), не си++ строка может содержать произвольное количество пробелов и табуляций. строке должно быть не более одного пробела между словами. в начале и в конце не должно быть пробелов,ни та табуляций. пример: > авс_с
227
398
Ответы на вопрос:
#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])); {} //длина отсеченного отрезка 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 n, k, i: integer; s: string; begin write('введите число: '); read(s); write('введите исходную систему счисления: '); read(k); for i : = 1 to length(s) do n : = n * k + ord(s[i]) - 48; write(s, '(2) = ', n, '(10)'); end. пример работы программы: введите число: 101000111000111 введите исходную систему счисления: 2 101000111000111(2) = 20935(10)
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Maks18909930.07.2021 06:48
-
АРинаArinah07.12.2022 16:11
-
MyNameIsLiza12328.10.2021 13:48
-
Lizzzas26.08.2021 17:14
-
Timurrovt45619.02.2020 22:38
-
YolloYP28.12.2020 13:29
-
solokha2406.06.2023 19:52
-
Rock201510.05.2020 22:44
-
andreitwin16.02.2020 21:50
-
gnastena02128.07.2020 17:02
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.