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

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

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

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

26.09.2009, 00:31. Просмотров 1767. Ответов 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
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.09.2009, 07:30 #2
Приведенный ниже код вычисляет количество слов у которых в середине есть символ который определяет пользователь:
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
#include <Windows.h>
#include <iostream.h>
#include <iomanip>
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char *str="слово строка олово";// начальная строка
    char c;
    cout<<"Введите символ"<<endl;
    cin>>c;
    int kol_sl=0, j, temp=0;    
    for(j=0; j<=strlen(str); j++)
    {
        if(str[j]==' ' || str[j]=='\0')
        {
            if((j-temp)%2==1 && str[temp+(j-temp)/2]==c)
                kol_sl++;
            temp=j+1;
        }
        
    }
    cout<<"Количество слов с символом '"<<c<<"' в середине: "<<kol_sl<<endl;
    system("pause");
    return 0;
}
Или может быть Вам нужно вывести количество слов у которых есть средний символ (т.е. просто вывести количество слов у которых количество букв нечетное)?
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
26.09.2009, 19:11  [ТС] #3
Да, нужно вывести количество слов у которых есть средний символ (т.е. просто вывести количество слов у которых количество букв нечетное),за ранее спасибо ,если можете решите.
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.09.2009, 19:30 #4
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
#include <Windows.h>
#include <iostream.h>
#include <iomanip>
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char *str="слово строка олово";// начальная строка
    int kol_sl=0, j, temp=0;        
    for(j=0; j<=strlen(str); j++)
    {
        if(str[j]==' ' || str[j]=='\0')
        {
            if((j-temp)%2==1)
                kol_sl++;
                temp=j+1;
        }
                
    }
    cout<<"Количество слов со средним символом: "<<kol_sl<<endl;
    system("pause");
    return 0;
}
1
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
26.09.2009, 20:08  [ТС] #5
кажется то ,что нужно ,большое вам спасибо, выручили.
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
27.09.2009, 15:22  [ТС] #6
А как можно переделать ,чтоб в запущенной проге набирать слова и она выщитывала сразу сколько слов с средним символом (т. е. нечетные слова)
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.09.2009, 19:31 #7
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
#include <iostream.>
#include <conio.h>
#include <math.h>
#include <Windows.h>
#include <string>
#include <process.h>
using namespace std ;
int main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Введите строку\n";
    string s1;
    int a, j, kol_sl=0, temp=0;
    getline(cin,s1, '\n'); 
    a=s1.length(); 
    for(j=0;j<=a; j++)
    {
        if(s1[j]==' ' || s1[j]=='\0' )
        {
            if((j-temp)%2==1)
                kol_sl++;
            temp=j+1;
        }
                
    }
    cout<<"Количество слов со средним символом: "<<kol_sl<<endl;
 getch ();
 return 0; 
}
1
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
28.09.2009, 01:19  [ТС] #8
Большое вам спасибо !!!вы очень мне помогли.
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
29.09.2009, 11:28  [ТС] #9
В программировании ,я пока чайник ,преподаватель сказал ,чтоб не со string делали ,а типа такого кода ,мне помогли написать, но программа выдает много ошибо,к немогли б мне помоч помоему вышеуказанному заданию.
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
#include<iostream.h>
#include<stdio.h>
#include<string.h>
void main()
 
     char*zod_mas[10]
     char*zodis=strtok(san,sak);
     zod_mas[0]=zodis
     int i=1
     while(zodis!=NULL)
     {zodis=strtok(NULL,SEP);
     i++
     zod_mas[i]=zodis;
     }
     char*zod_max=zod_max
     
     int n_zod_max=strlen(zod_max);
     char_chn=zod_max[n]
     char_chn=zod_max[n_zod_max/2]
     char*zod_max[10];
     
     int nx=0; int nzod;
     
     for(int j=0;j<i;j++)
    {nzod=strlen(zod_max[j];
     for(int k=0;k<nzod;k++)
     {if(zod_max[j][k]=chn) 
      if(zod_max[j][k]=chn) break;
 
      }
      }
0
R0mm
Псевдо программист
192 / 113 / 15
Регистрация: 19.09.2009
Сообщений: 303
29.09.2009, 11:52 #10
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
#include "stdafx.h"
#include <iostream.>
using namespace std ;
int main ()
{
    setlocale(LC_ALL, "Russian");
    cout<<"Введите строку\n";
    char s1[80];
    int a, j, kol_sl=0, temp=0;
    cin.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;
        }
                
    }
    cout<<"Количество слов со средним символом: "<<kol_sl<<endl;
    system("pause");
    return 0; 
}
1
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
09.10.2009, 15:57  [ТС] #11
Большое спасибо за программу!!! А как зделать ,чтоб при запуске проги ввод данных и результат выводился в текстовом файле? Я вводила FILE *out = fopen( ".txt", "a" ); но результата не получала.
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
09.10.2009, 15:59 #12
Цитата Сообщение от zoja1739 Посмотреть сообщение
Большое спасибо за программу!!! А как зделать ,чтоб при запуске проги ввод данных и результат выводился в текстовом файле? Я вводила FILE *out = fopen( ".txt", "a" ); но результата не получала.
C
1
FILE *out = fopen( "FILE_NAME.txt", "a" );
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
09.10.2009, 16:38  [ТС] #13
Ничего у меня невыходит. А немогли б вы написать полностью код ,а то я пока еще чайник в етом.
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
09.10.2009, 16:54 #14
я не совсем в теме, в общем программа считавает строчку из файла 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
//#include "stdafx.h"
#include <iostream>
#include <fstream>
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; 
}
0
zoja1739
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 23
09.10.2009, 18:08  [ТС] #15
у меня прога DEV++ выводит ERROR: not file:input.txt
0
09.10.2009, 18:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2009, 18:08
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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