Подсчитать количество различных пар букв в заданной строке - C (СИ)
Формулировка задачи:
Помогите переделать код из С++ в С
Дана строка из строчных букв латинского алфавита, содержащая не менее 2 букв. Подсчитать количество различных пар букв в этой строке Парой букв будем называть любые две стоящие рядом буквы
Листинг программы
- #include <fstream>
- #include <iostream>
- using namespace std;
- int main()
- {
- ifstream fin;
- fin.open("input.txt");
- int count[256][256]={0,};
- char t1,t2;
- fin>>t1>>t2;
- while (!fin.eof())
- {
- count[(int)t1][(int)t2]++;
- t1=t2;
- fin>>t2;
- }
- fin.close();
- ofstream fout;
- fout.open("output.txt");
- for (int i=0;i<256;i++)
- {
- for (int j=0;j<256;j++)
- {
- if (count[i][j]>0)
- {
- fout<<(char)i<<(char)j<<" "<<count[i][j]<<"\n";
- }
- }
- }
- fout.close();
- return 0;
- }
Решение задачи: «Подсчитать количество различных пар букв в заданной строке»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main()
- {
- FILE *in;
- in = fopen( "input.txt" , "r");
- int count[256][256]={0,};
- char t1,t2;
- fscanf (in, "%c%c", &t1,&t2);
- while ((t2 = getchar()) != EOF)
- {
- count[(int)t1][(int)t2]++;
- t1=t2;
- fscanf (in, "%c",&t2);
- }
- fclose(in);
- FILE *out;
- out = fopen( "output.txt", "w");
- for (int i=0;i<256;i++)
- {
- for (int j=0;j<256;j++)
- {
- if (count[i][j]>0)
- {
- fprintf(out,"%c%c %10d\n",i,j,count[i][j]);
- }
- }
- }
- fclose(out);
- system("PAUSE");
- return 0;
- }
Объяснение кода листинга программы
В этом коде на языке C подсчитывается количество различных пар букв в заданной строке. Вот список действий, которые происходят в коде:
- Включаются необходимые заголовочные файлы
- Открывается файл для чтения
- Создается двумерный массив для подсчета пар букв
- Считываются две буквы из файла
- Пока не достигнут конец файла, считывается вторая буква и увеличивается счетчик в массиве
- Закрывается файл
- Открывается файл для записи
- Записываются пары букв и их количество в файл
- Закрывается файл
- Выполняется команда для приостановки выполнения программы до нажатия клавиши
- Возвращается 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д