Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Jlovenpk1
C# Brain.net
31 / 31 / 3
Регистрация: 21.10.2012
Сообщений: 278
Записей в блоге: 1
#1

Дан файл, содержащий текст на русском языке - C++

25.01.2013, 01:31. Просмотров 1195. Ответов 6
Метки нет (Все метки)

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

Есть код в паскале:
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
program laba14;
const  
 n = 6;
l = 10;
var    
 i,count :integer;
name :array[1..n,1..l] of char;
stroka :array[1..l] of char;
pr :boolean;
j :integer;
f,f2:text;
begin
assign(f,'C:\start.txt');
Reset(f);
count:=0;
While not Eof(f) do
begin
readln (f,name[count+1]);
inc(count);
end;
pr:=true;
while pr do 
begin
pr:=false;
for j:=1 to count-1 do
if name[j]>name[j+1] then 
begin
stroka:=name[j];
name[j]:=name[j+1];
name[j+1]:=stroka;
pr:=true;
end;
end;
Close(f);
Assign(f2,'C:\lol.txt');
Rewrite(f2);
writeln(f2,'uporyadochenno: ');
for i:=1 to count do
writeln(f2,name[i]);
Close(f2);
end.


Где я допустил ошибки в коде?)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <stdio.h>
 
using namespace std;
 
int main()
{
    FILE *fp; 
    FILE *fp2;
    const  int n=6;
    const int l = 10;
    char name[n][l];
    char stroka[l];
    int i,j,count;
    bool pr;
    char c;
    fp=fopen("Lols.txt","w+");
    count=0;
    while(c != Eof(fp)) 
    {
        f.read(fp,name[count+1]);
        count++;
    }
    pr=true;
    while (pr)
    {
        pr=false;
        for(j=1;j<n;count--) 
        {
            if(name[j]>name[j+1] 
            {
stroka=name[j];
name[j]=name[j+1];
name[j+1]=stroka;
pr=true;
            }
        }
    }
fclose(fp);
fp2=fopen("C:\\lols2.txt", "w+");
for (i=1;i<count;i++)
{
    f.write(fp2,name[i);
    fclose (fp2);
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2013, 01:31     Дан файл, содержащий текст на русском языке
Посмотрите здесь:
C++ Дан файл,содержащий текст на русском языке.& Дана строка,
Дан файл, содержащий текст на русском языке. Выяснить, входит ли данное слово в указанный текст, и если да, то сколько раз C++
Дан файл, содержащий текст на русском языке. Выяснить, входит ли данное слово в указанный текст, и если да, то сколько раз C++
Дан файл, содержащий текст на русском языке. Подсчитать кол-во слов, в которых кол-во гласных и согласных совпадает C++
Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они в C++
C++ Даны файл содержащий текст на русском языке и некоторые буквы
Сохранить в файл текст, введенный из консоли, на русском языке C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
6998 / 4169 / 594
Регистрация: 29.11.2010
Сообщений: 11,050
25.01.2013, 02:03     Дан файл, содержащий текст на русском языке #2
Jlovenpk1, изначально С++ плохо работает с юникодом, и символы кириллицы могут располагаться не в алфавитном порядке. Его надо дружить различными способами.
Jlovenpk1
C# Brain.net
31 / 31 / 3
Регистрация: 21.10.2012
Сообщений: 278
Записей в блоге: 1
25.01.2013, 02:22  [ТС]     Дан файл, содержащий текст на русском языке #3
В текстовом файле я юзаю Англ текст.
Компилятор ошибки выдает, но по сути ошибка не там, где указывает компил.
Gepar
1175 / 531 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
25.01.2013, 02:23     Дан файл, содержащий текст на русском языке #4
Цитата Сообщение от Jlovenpk1 Посмотреть сообщение
const int n=6;
const int l = 10;
Откуда такая уверенность насчёт длины и количества слов? Слово "синхофазотрон" в свой файл допишите. А вообще это всё конечно классно, трушно, сишно, преподы мучения любят ... Но если делать то используй string читай из потока по строке (getline), разбивай строки на слова используя find first of и указывая разделители (,;! ) и забивай это в какую-то stl коллекцию, после чего заюзай sort и вуаля. Если повезёт то компилятор всё использует правильно и рабоать всё будет сходу правильно без твоих усилий (это я насчёт кодировки и хранения русских символов в строках string а также их сортировки), это в студии так будет. Ну а если не повезёт то wstring тебе в руки.
Jlovenpk1
C# Brain.net
31 / 31 / 3
Регистрация: 21.10.2012
Сообщений: 278
Записей в блоге: 1
25.01.2013, 02:28  [ТС]     Дан файл, содержащий текст на русском языке #5
Gepar, норм подсказал, учитывая мои знания в С++ на уровне.
2+2 = 4.
_____________
А вообще это все хорошо, но завтра экзамен, а я эту последнюю лабу решаю уже довольно таки долго, препод помогать и объяснять не хочет.
MrGluck
Модератор
Эксперт CЭксперт С++
6998 / 4169 / 594
Регистрация: 29.11.2010
Сообщений: 11,050
25.01.2013, 03:48     Дан файл, содержащий текст на русском языке #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <fstream>
#include <set>
#include <string>
#include <algorithm>
#include <iterator>
#include <clocale>
 
int main()
{
    std::locale::global(std::locale(""));
    setlocale(LC_ALL, "");
    std::ifstream ifs("input.txt");
    if (!ifs)
        return 1;
    std::multiset<std::string> s((std::istream_iterator<std::string>(ifs)),
        std::istream_iterator<std::string>() );
    std::copy(s.begin(), s.end(),
        std::ostream_iterator<std::string>(std::cout, "\n") );
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2013, 03:49     Дан файл, содержащий текст на русском языке
Еще ссылки по теме:
C++ Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы,которые входят только в одно слово
C++ Дан файл, содержащий текст и арифметические выражения
C++ Дан файл, содержащий произвольный текст; определить, чего в нем больше: цифр или букв
C++ Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же текст, записанный заглавными буквами
Дан файл, содержащий произвольный текст. Выяснить, чего в нем больше: русских букв или цифр C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Jlovenpk1
C# Brain.net
31 / 31 / 3
Регистрация: 21.10.2012
Сообщений: 278
Записей в блоге: 1
25.01.2013, 03:49  [ТС]     Дан файл, содержащий текст на русском языке #7
Щас проверю)
спасибо
Yandex
Объявления
25.01.2013, 03:49     Дан файл, содержащий текст на русском языке
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru