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

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

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

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

25.01.2013, 01:31. Просмотров 1237. Ответов 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);
}
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2013, 01:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дан файл, содержащий текст на русском языке (C++):

Дан файл,содержащий текст на русском языке.& Дана строка, - C++
#1 Дан файл,содержащий текст на русском языке.Определить сколько раз встречается самое длинное слово. #2 Дана строка,состоящая из...

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

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

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

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

Даны файл содержащий текст на русском языке и некоторые буквы - C++
Здравствуйте! Помогите пожалуйста с программой. Дали задачу: Даны файл содержащий текст на русском языке и некоторые буквы.Найти...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
25.01.2013, 02:03 #2
Jlovenpk1, изначально С++ плохо работает с юникодом, и символы кириллицы могут располагаться не в алфавитном порядке. Его надо дружить различными способами.
0
Jlovenpk1
C# Brain.net
31 / 31 / 3
Регистрация: 21.10.2012
Сообщений: 281
Записей в блоге: 1
25.01.2013, 02:22  [ТС] #3
В текстовом файле я юзаю Англ текст.
Компилятор ошибки выдает, но по сути ошибка не там, где указывает компил.
0
Gepar
1177 / 533 / 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 тебе в руки.
0
Jlovenpk1
C# Brain.net
31 / 31 / 3
Регистрация: 21.10.2012
Сообщений: 281
Записей в блоге: 1
25.01.2013, 02:28  [ТС] #5
Gepar, норм подсказал, учитывая мои знания в С++ на уровне.
2+2 = 4.
_____________
А вообще это все хорошо, но завтра экзамен, а я эту последнюю лабу решаю уже довольно таки долго, препод помогать и объяснять не хочет.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,929
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") );
}
1
Jlovenpk1
C# Brain.net
31 / 31 / 3
Регистрация: 21.10.2012
Сообщений: 281
Записей в блоге: 1
25.01.2013, 03:49  [ТС] #7
Щас проверю)
спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2013, 03:49
Привет! Вот еще темы с ответами:

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

Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы,которые входят только в одно слово - C++
Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы,которые входят только в одно слово. Подскажите хотя бы...

Дан файл, содержащий текст и арифметические выражения - C++
Доброе время суток, помогите с задачкой одной пожалуйста :) Дан файл, содержащий текст и арифметические выражения вида a Q b, где Q —...

Дан файл, содержащий текст, записанный строчными русскими буквами - C++
Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же текст, записанный заглавными буквами. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.01.2013, 03:49
Ответ Создать тему
Опции темы

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