Задание 24. Пример 1

Просмотры: 58
Изменено: 22 ноября 2024

Текстовый файл состоит из нескольких строк, содержащих буквы латинского алфавита. Определите максимальное количество идущих подряд совпадающих символов. Для выполнения этого задания следует написать программу.

Текстовый файл 2

Решение:

Python


max_count = 0

with open('24_pr1.txt') as f:
    for line in f:
        ch_current = ''
        temp_max = 1
        for ch in line:
            if ch == ch_current:
                temp_max += 1
            else:
                if temp_max > max_count:
                    max_count = temp_max
                ch_current = ch
                temp_max = 1

print(max_count)

Go


package main

import (
	"bufio"
	"fmt"
	"log"
	"os"
)

func readLines(path string) ([]string, error)  {
	file, err := os.Open(path)
	if err != nil {
		return nil, err
	}
	defer file.Close()

	var lines []string
	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		lines = append(lines, scanner.Text())
	}
	return lines, scanner.Err()
}

func main() {
	
	var chCurrent rune

	lines, err := readLines("24_pr1.txt")
	if err != nil {
		log.Fatalf("readLines: %s", err)
	}

	maxCount := 0

	for _, line := range lines {
		chCurrent = 0
		tempMax := 1
		for _, ch := range line {
			if ch == chCurrent {
				tempMax++
			} else {
				if tempMax > maxCount {
					maxCount = tempMax
				}
				chCurrent = ch
				tempMax = 1
			}
		}
	}
	fmt.Print(maxCount)
}