с Pascal! Напишите 6 программ на нём, умоляю!
1. Дана непустая последовательность непустых слов из латинских букв; соседние слова отделены друг от друга запятой, за последним словом – точка. Определить количество слов, которые заканчиваются буквой ‘w’.
2. Дана непустая последовательность непустых слов из латинских букв; соседние слова отделены друг от друга запятой, за последним словом – точка. Определить количество слов, которые начинаются и оканчиваются одной и той же буквой.
3. Дан текст. Составить программу проверки правильности написания сочетаний «жи»-«ши», «ча»-«ща», «чу»-«щу». Исправить ошибки.
4. Дан текст, содержащий цифры, латинские и русские буквы. Подсчитать сумму цифр, встречающихся в тексте.
5. Дан текст, содержащий от 1 до 30 слов, в каждом из которых от 1 до 5 малых латинских букв, между словами запятая, за последним словом – точка. Вывести на экран эту же последовательность слов, но в обратном порядке.
6. Дана непустая последовательность непустых слов из латинских букв; соседние слова отделены друг от друга запятой, за последним словом – точка. Вывести текст, составленный из первых символов всех слов текста.
=В$5+=$А8
Объяснение:
данная формула содержит смешанную ссылку
В6 =А$5+$А6
Надо скопировать в С8
B6-- C8 ( посмотри что изменилось)
буква была В стала С ( на одну позицию вперед +1)
цифра 6 изменилась на 8 ( на две позиции +2)
к формуле =А$5+$А6 применим эти изменения
но учтем что $ - это абсолютный адрес и он не будет меняться
=А$5
была А ( на одну позицию вперед) --- В
$5 при копировании не изменится
=В$5
$А6
при копировании $А ничего не происходит
6 на две позиции увеличиваем =8
=$А8
Тогда формула =А$5+$А6 приобретет вид =В$5+=$А8
using System;
using System.Text.RegularExpressions;
internal class Program
{
private static void Main()
{
var test_lines = new[]
{
"Я сегодня съела 2 булочки, 7 сосисок и выпила 3 чашки кофе.",
"Старший брат родился в 1990 году, а младший - в 2000г.",
"Мне нравится книга '100 лет одиночества'"
};
foreach (var test_line in test_lines)
{
Console.WriteLine(test_line);
Console.WriteLine("Самое большое число в строке {0} или {1}", FindMaxNumber(test_line), FindMaxNumberWithRegex(test_line));
}
Console.WriteLine();
Console.WriteLine("Введите строку");
var line = Console.ReadLine();
Console.WriteLine("Самое большое число в строке {0} или {1}", FindMaxNumber(line), FindMaxNumberWithRegex(line));
Console.ReadKey();
}
private static int FindMaxNumberWithRegex(string line)
{
var matches = Regex.Matches(line, @"[0-9]+"); //находим все вхождения цифр в строку, не зависимо от того часть это слова или нет
if (matches.Count < 1) return -1;
var max = -1; //предполагаем что ищем лишь положительные числа
foreach (Match match in matches)
{
var num = int.Parse(match.Value); //переводим строку в число, то что это число мы уже знаем
max = Math.Max(max, num);
}
return max;
}
private static int FindMaxNumber(string line)
{
var words = line.Split(new[] { ' ', ',', '.', '-', ':' }, StringSplitOptions.RemoveEmptyEntries);//разбивает строку на массив строк
var max = -1; //предполагаем что ищем лишь положительные числа
foreach (var word in words)
{
if (int.TryParse(word, out var num) && num > max) //если слово есть число и оно больше максимума
{
max = num;
}
}
return max;
}
}