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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
#1

Задача с символом строк - C++

26.09.2009, 00:31. Просмотров 1753. Ответов 29
Метки нет (Все метки)

Помогите решить: сколько в символьной строке слов, имеющие в середине слова средний символ(символ который находится в середине слова)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2009, 00:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача с символом строк (C++):

Описать функцию для подсчета числа строк, начинающихся и заканчива- ющихся одним и тем же символом - C++
Описать функцию для подсчета числа строк, начинающихся и заканчива- ющихся одним и тем же символом.

Задача на обработку строк - C++
Дана строка символов. Преобразовать строку, удалив из нее все символы, не являющиеся буквами или цифрами.

задача на С++.(обработка строк) - C++
Число записано в виде строки.Вывести самую большую цифру числа.Желательно поподробней ))

Задача на сортировку строк - C++
Задача: в 10 строковых переменных занесите 5 рандомных символов, а потом сортируйте их в порядке возрастания. Помогите советом,...

Задача на массив символьных строк. - C++
Возможно я не первый кто просит помочь в данной задачи, но все же повторюсь.: Дан текст, состоящий из n предложений. Предложение...

Задача на упорядочение строк матрицы - C++
Дана матрица размера M × N. Упорядочить ее строки так, чтобы их первые элементы образовывали возрастающую последовательность.

29
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
09.10.2009, 18:11 #16
Цитата Сообщение от zoja1739 Посмотреть сообщение
у меня прога DEV++ выводит ERROR: not file:input.txt
всё правильно, ты его создай в тойже папке где компилишь исходник или путь пропиши и будет тебе счастье.
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
09.10.2009, 19:58  [ТС] #17
или я полный чайник она у меня вообще незапускается
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
09.10.2009, 20:08 #18
в папку с исходником помести фаил input.txt (со тестовой строкой). скомпили исходник (окно появиться и исчезнет). в папке с фаилом инпут и исходником появиться ещё один output.txt с результатом.
1
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
10.10.2009, 18:16  [ТС] #19
А проще код нельзя написать ,чтоб прога работала и выводила в файле результат сразу ,мне просто еще ето очень сложно.
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.10.2009, 19:44 #20
zoja1739,
TanT все правильно пишет. Я наверное понял в чем у Вас сложности. Сделайте тогда так:
1. Строки 7 и 8 в коде TanT
Цитата Сообщение от TanT Посмотреть сообщение
char *File="input.txt"; // исходный фаил
char *File_out="output.txt"; // фаил результата
замените на:
C++
1
2
        char *File="c:\\input.txt";                                  // èñõîäГ*ûé ГґГ*ГЁГ« 
        char *File_out="c:\\output.txt";     // ГґГ*ГЁГ« ðåçóëüòГ*ГІГ*
2. Войдите на своем компьютере в папку "локальный диск С:". На пустом месте в этой папке нажмите правую кнопку мыши, выберите подпункт "создать", затем выберите подпункт "текстовый документ" и нажмите левую кнопку мыши. У Вас будет создан на диске "С:" текстовый файл "Текстовый документ.txt". Этот файл надо переименовать в "input.txt". Затем открываете этот файл и пишите в нем исходные слова.
3. Запускаете программу. После закрытия программы на диске "С:" у Вас появится файл "output.txt". Открываете его и там будут результаты.
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
10.10.2009, 21:34  [ТС] #21
все зделала в текстовом output выводит ERROR: not file:input.txt
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.10.2009, 21:43 #22
Делать надо файл "input.txt" и в нем писать слова. А файл "output.txt" с результатом, программа сделает сама.
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
10.10.2009, 22:27  [ТС] #23
у меня выводит результат с 12 строки прграммного кода
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
10.10.2009, 22:30 #24
Можно весь код посмотреть?
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
10.10.2009, 23:31  [ТС] #25
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
//#include "stdafx.h"
#include <iostream.h>
#include <fstream.h>
using namespace std ;
int main ()
{
        char *File="input.txt";                                  // èñõîäГ*ûé ГґГ*ГЁГ« 
        char *File_out="output.txt";     // ГґГ*ГЁГ« ðåçóëüòГ*ГІГ* 
        setlocale(LC_ALL, "Russian");
        
        ofstream f_out; f_out.open(File_out);
        ifstream f(File);
        
 
        if (!f.is_open())       // ïðîâåðêГ* Г*Г*ëè÷èÿ ГґГ*éëГ* Г± Г¤Г*Г*Г*ûìè Г® êëèåГ*ГІГ*Гµ
        { f_out<<"ERROR: not file:"<<File<<endl; 
        }
        else
        {
                char s1[80];
                int a, j, kol_sl=0, temp=0;
                while(!f.eof())
                {
                        kol_sl=0; temp=0;
                        f.getline(s1, 80); 
                        a=strlen(s1); 
                        for(j=0;j<=a; j++)
                        {
                                if(s1[j]==' ' || s1[j]=='\0' )
                                {
                                        if((j-temp)%2==1)
                                                kol_sl++;
                                        temp=j+1;
                                }
                        }
                        f_out<<"Êîëè÷åñòâî ñëîâ Г±Г® ñðåäГ*ГЁГ¬ ñèìâîëîì: "<<kol_sl<<endl;
                }
        }
 
        f.close();
        system("pause");
        return 0; 
}
Добавлено через 1 минуту
выводит строку с кода ERROR: not file:input.txt
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
11.10.2009, 06:09 #26
Чувствую что у меня последний шанс...
Ладно, замените Ваш код на код записанный ниже:
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
#include <iostream>
#include <fstream.h>
using namespace std ;
int main ()
{
        char *File="c:\\input.txt";                                  // исходный фаил 
        char *File_out="c:\\output.txt";     // фаил результата 
        setlocale(LC_ALL, "Russian");
        
        ofstream f_out; f_out.open(File_out);
        ifstream f(File);
        
 
        if (!f.is_open())       // ïðîâåðêГ* Г*Г*ëè÷èÿ ГґГ*éëГ* Г± Г¤Г*Г*Г*ûìè Г® êëèåГ*ГІГ*Гµ
        { f_out<<"ERROR: not file:"<<File<<endl; 
        }
        else
        {
                char s1[80];
                int a, j, kol_sl=0, temp=0;
                while(!f.eof())
                {
                        kol_sl=0; temp=0;
                        f.getline(s1, 80); 
                        a=strlen(s1); 
                        for(j=0;j<=a; j++)
                        {
                                if(s1[j]==' ' || s1[j]=='\0' )
                                {
                                        if((j-temp)%2==1)
                                                kol_sl++;
                                        temp=j+1;
                                }
                        }
                        f_out<<"Êîëè÷åñòâî ñëîâ Г±Г® ñðåäГ*ГЁГ¬ ñèìâîëîì: "<<kol_sl<<endl;
                }
        }
 
        f.close();
        system("pause");
        return 0; 
}
После этого на Вашем компьютере, на жестком диске (C:) создайте файл "input.txt". В нем напишите любые слова. Закройте файл, запустите программу. На Вашем жестком диске (C:) будет создан файл "output.txt". Откройте его и увидите результат.
1
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
11.10.2009, 17:54  [ТС] #27
Урааааааааааааааааааааааааааааааааа !!!!!!!!!!!!!!!!!!!спасибо вам большое заработало !!!!!!!!!!!!!!!!!!!!!
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
13.10.2009, 15:35  [ТС] #28
Здрасте ето опять я ,в общем учитель незащитал задание ,немного подругому звучит, в общем трудно разобраться, вчера только поняла ,что от меня требуют :cолько в символьной строке есть слов которая имеет в среднем слове средний символ ,например "олово" "солдат" "прога" "символ" "тетрадь" ), у нас среднее слово ("прога") и средний символ в слове("o") , так нужно найти сколько слов в строке с буквой ("о"), у нас "четыре" слова с буквой "о" так и результат должен быть "4", если вам нетрудно ,можете переделать код в двух программах ,чтоб результат на экране выводился и второе задание с файлами ,заранее вам спасибо ,а то у меня ничего неполучается .
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.10.2009, 17:36 #29
Немного переделал последнюю версию. С файлами "input.txt" и "output.txt" делайте тоже самое как и последний раз.
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream.h>
#include <fstream.h>
#include <process.h>
#include <windows.h>
int main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char *File="c:\\input.txt";                                  // èñõîäГ*ûé ГґГ*ГЁГ« 
    char *File_out="c:\\output.txt";     // ГґГ*ГЁГ« ðåçóëüòГ*ГІГ* 
     
    ofstream f_out; f_out.open(File_out);
    ifstream f(File);
    if (!f.is_open())       // ïðîâåðêГ* Г*Г*ëè÷èÿ ГґГ*éëГ* Г± Г¤Г*Г*Г*ûìè Г® êëèåГ*ГІГ*Гµ
    {
        f_out<<"ERROR: not file:"<<File<<endl; 
    }
    else
    {
        char s1[80];
        int a, j, kol_sl=0, temp=0, i1=0, i2;
        while(!f.eof())
        {
            kol_sl=0;
            f.getline(s1, 80); 
            a=strlen(s1); 
            for(j=0;j<=a; j++)
                if(s1[j]==' ')
                    kol_sl++;
            if(kol_sl%2==1)
            {
                cout<<"ГЌГҐГІ ñðåäГ*ГҐГЈГ® ñëîâГ*"<<endl;
                exit(1);
            }
        }
        for(j=0;j<=a; j++)
        {
            if(s1[j]==' ')
                temp++; 
            if(s1[j]==' ' && i1!=0)
            {
                i2=j;
                break;
            }
            if(temp==kol_sl/2 && s1[j]==' ')
                i1=j;
            
        }
        if((i2-i1)%2==1)
        {
            cout<<"Г‚ ñðåäГ*ГҐГ¬ ñëîâå Г*ГҐГІ ñðåäГ*ГҐГ© ГЎГіГЄГўГ»"<<endl;
            exit(1);
        }
        temp=0;
        kol_sl=0;
        for(j=0;j<=a; j++)
        {
            if(s1[j]==s1[i1+(i2-i1)/2] && temp==0)
            {
                kol_sl++;
                temp=1;
            }
            if(s1[j]==' ')
                temp=0;
        }
        f_out<<"Êîëè÷åñòâî ñëîâ Г± ñèìâîëîì ГЄГ*ГЄ Гі ñðåäГ*ГҐГЈГ® ñèìâîëГ* ñðåäГ*ГҐГЈГ® ñëîâГ*: "<<kol_sl<<endl;       
    }
     
     f.close();
     system("pause");
     return 0; 
}
1
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
16.10.2009, 18:03  [ТС] #30
Спасибо большое вам !!!!задача решена.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2009, 18:03
Привет! Вот еще темы с ответами:

задача на обработку символьных строк - C++
2. Разработать программу подсчёта статистики массива символьных строки в следующем виде: длина строки, количество пробелов, количество...

Реализовать парсер строк (Задача A. Стартап) - C++
Задача A. Стартап Имя входного файла: startup.in Имя выходного файла: startup.out Ограничение по времени: 2 секунды Ограничение по...

задача на обработку строк, С++)заранее благодарю - C++
Изменить регистр букв в словах, в которых есть твердый или мягкий знак.

Задача на обработку символьных строк (сравнить введённую строку с шаблоном) - C++
Здравствуйте. Задача на обработку последовательности символов такая: Программа просит ввести шаблон (который состоит из букв и знаков...


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

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

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