Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3465166
А
Аноним
09 октября 2025 15:03 · публичный вопрос
А
Аноним

Задание 1: Получение расширения файла Напишите программу, которая запрашивает у пользователя имя файла (например, "document.pdf") и выводит его расширение в нижнем регистре без…

Запрос пользователя

Задание 1: Получение расширения файла Напишите программу, которая запрашивает у пользователя имя файла (например, "document.pdf") и выводит его расширение в нижнем регистре без точки. Если расширения нет (например, "README"), выведите пустую строку. Используйте: LastIndexOf, Substring, ToLower. Задание 2: Сокращение строки Напишите программу, которая обрезает строку до указанной длины (например, 10 символов), и если длина превышена, добавляет в конце .... Пример: "Очень длинный текст" → "Очень дл...". Используйте: Length, Substring, конкатенацию строк. Задание 3: Подсчёт вхождений символа Напишите программу, которая подсчитывает, сколько раз определённый символ встречается в строке. Регистр имеет значение. Пример: для строки "Hello" и символа 'l' результат — 2. Используйте: цикл for, индексацию строки, сравнение символов. Задание 4: Capitalized Case Напишите программу, которая преобразует строку так, чтобы каждое слово начиналось с заглавной буквы, а остальные были строчными. Пример: "heLLo wOrLd" → "Hello World". Используйте: ToLower, Split, ToUpper, цикл for или foreach, конкатенацию строк.

Ответ нейросети
09 октября 2025 15:03

Ниже четыре небольших примера на C# (с использованием топ-левел-выражений, чтобы код был максимально простым для быстрой проверки). Каждый пример соответствует заданию и использует указанные методы.

Задание 1. Получение расширения файла

  • Используются: LastIndexOf, Substring, ToLower.
// Задание 1: Получение расширения файла
using System;

Console.Write("Введите имя файла: ");
string fileName = Console.ReadLine() ?? "";

int dotIndex = fileName.LastIndexOf('.');
string ext = (dotIndex >= 0 && dotIndex < fileName.Length - 1)
    ? fileName.Substring(dotIndex + 1).ToLower()
    : "";

Console.WriteLine(ext);

Задание 2. Сокращение строки

  • Используются: Length, Substring, конкатенацию строк.
// Задание 2: Сокращение строки
using System;

Console.Write("Введите строку: ");
string s = Console.ReadLine() ?? "";

Console.Write("Введите максимальную длину: ");
if (!int.TryParse(Console.ReadLine(), out int maxLen)) maxLen = s.Length;

string result;
if (s.Length <= maxLen)
{
    result = s;
}
else
{
    int cutLen = Math.Max(0, maxLen - 3);
    result = s.Substring(0, cutLen) + "...";
}

Console.WriteLine(result);

Задание 3. Подсчёт вхождений символа

  • Используется: цикл for, индексация строки, сравнение символов.
// Задание 3: Подсчёт вхождений символа
using System;

Console.Write("Введите строку: ");
string s = Console.ReadLine() ?? "";

Console.Write("Введите символ для подсчёта: ");
string chStr = Console.ReadLine() ?? "";
char ch = chStr.Length > 0 ? chStr[0] : '\0';

int count = 0;
for (int i = 0; i < s.Length; i++)
{
    if (s[i] == ch) count++;
}

Console.WriteLine(count);

Задание 4. Capitalized Case

  • Используются: ToLower, Split, ToUpper, цикл for/foreach, конкатенация строк.
// Задание 4: Capitalized Case
using System;

Console.Write("Введите предложение: ");
string input = Console.ReadLine() ?? "";

// Приводим к нижнему регистру, разбиваем на слова
string[] words = input.ToLower().Split(' ', StringSplitOptions.RemoveEmptyEntries);

for (int i = 0; i < words.Length; i++)
{
    if (words[i].Length > 0)
    {
        char first = Char.ToUpper(words[i][0]);
        string rest = words[i].Substring(1);
        words[i] = first + rest;
    }
}

// Соединяем слова обратно через пробел
string result = string.Join(" ", words);
Console.WriteLine(result);

Если нужно, могу адаптировать примеры под конкретную среду (например, консольное приложение с классом Program, или под .NET Framework).