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

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

Войти
Регистрация
Восстановить пароль
 
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 30
#1

Строки (доработка) - C++

23.11.2013, 18:30. Просмотров 243. Ответов 7
Метки нет (Все метки)

Составить программу,которая вычисляет ко-во слов в строке и ФОРМИРУЕТ МАССИВ ИЗ ДЛИНЫ СТРОК.
Вроде бы с первой частью справился,а вторая?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <iostream>
using namespace std;
void main()
{
char str[255];
cout<<"Vvelidte stroku: ";
gets_s(str);//ввод символов
int a;
a=0;
for (int i=0;i<strlen(str);i++)    //strlen-возвращает длину строки
 if ((str[i]==' ') && (str[i+1]!=' ')){//a-кол=во пробелов;слов на 1 больше,чем пробелов по этому а=а+1
     a=a+1;}
if (str[0]==NULL){//если первый элемент пустой(пробел),то вывод на экран 0
    a=a+0;}
cout<<"V stroke "<<a<<" slov"<<'\n';
system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2013, 18:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки (доработка) (C++):

Доработка - C++
Всем привет.Ребят,у меня такой наверное глуповатый вопрос.Например есть программа которую надо доработать,но исходников к ней нету,как это...

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

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

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

Доработка программы - C++
Я написал программу, но она никак не хочет работать. Суть такая. Дана целочисленная прямоугольная матрица. Определите номер первого из...

Задача на структуры. Доработка! - C++
Вот условие: Сведения об ученике состоят из его имени, фамилии и названия класса, в котором он учится, и оценок, полученных учеником в...

7
Liden
19 / 19 / 2
Регистрация: 19.11.2013
Сообщений: 83
23.11.2013, 19:13 #2
Не справился)))ты проверял программу?)))
0
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 30
23.11.2013, 19:24  [ТС] #3
Ну вроде как да,а что надо исправить?
0
Liden
19 / 19 / 2
Регистрация: 19.11.2013
Сообщений: 83
23.11.2013, 23:38 #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
25
26
27
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
void main()
{
char str[255];
cout<<"Vvelidte stroku: ";
gets_s(str);//ввод символов
int a,b;
a=1;b=0;
if (str[0]==' '){
    for (int i=0;i<strlen(str);i++){  
     if ((str[i]==' ') && (str[i+1]!=' ')){
         b++;}
    }
cout<<"V stroke "<<b<<" slov"<<'\n';
}
else{
for (int i=0;i<strlen(str);i++){  
     if ((str[i]==' ') && (str[i+1]!=' ')){
         a++;
     }}
cout<<"V stroke "<<a<<" slov"<<'\n';
}
system("pause");
}
Добавлено через 3 минуты
"ФОРМИРУЕТ МАССИВ ИЗ ДЛИНЫ СТРОК." не совсем понял данную формулировку) для чего массив нужен? Просто чтобы был массив с размером равным длине строк?
1
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 30
24.11.2013, 21:55  [ТС] #5
Вот я тоже не особо понимаю эту формулировку)Ну блин,так задали
Спасибо))
0
Liden
19 / 19 / 2
Регистрация: 19.11.2013
Сообщений: 83
24.11.2013, 22:08 #6
Да не за что) Подумаю над второй)
0
igorfors
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 30
24.11.2013, 22:47  [ТС] #7
Хотя,если ничего не ввести,то пишет,что одно слово
0
Liden
19 / 19 / 2
Регистрация: 19.11.2013
Сообщений: 83
24.11.2013, 23:42 #8
igorfors

Добавлено через 8 минут
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 "stdafx.h"
#include <stdio.h>
#include <iostream>
using namespace std;
void main()
{
char str[255];
cout<<"Vvelidte stroku: ";
gets_s(str);//ввод символов
int a,b,c;
a=1;b=0,c=0;
if (str[0]==NULL){
cout<<"V stroke "<<b<<" slov"<<'\n';
}
else if (str[0]==' '){
    for (int i=0;i<strlen(str);i++){  
     if ((str[i]==' ') && (str[i+1]!=' ')){
         c++;}
    }
cout<<"V stroke "<<c<<" slov"<<'\n';
}
else{
for (int i=0;i<strlen(str);i++){  
     if ((str[i]==' ') && (str[i+1]!=' ')){
         a++;
     }}
cout<<"V stroke "<<a<<" slov"<<'\n';
}
system("pause");
}
Добавлено через 8 минут
igorfors, Насчет второй части: создай переменную-счетчик для подсчета пробелов. Найдешь кол-во пробелов и отнимешь это число от strlen(str) получишь длину строк массива. Чтобы сформировать массив:
C++
1
2
char *str2=new char [длина строк массива];
delete [] str2;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2013, 23:42
Привет! Вот еще темы с ответами:

Доработка примеров учебника. - C++
Доброго времени суток! Изучая структура повторения while, и рассматривая приведенные примеры немного доработал код для (как мне кажется)...

Требуется доработка программы. - C++
Программа упорядочивает матрицу по возрастанию одинаковых эл-в в строке. Требуется доработка: Некорректно считает повторяющиеся...

Клавиатурный тренажер Доработка - C++
/*Разработка клавиатурного тренажера. Программа случайным образом выводит на экран символы,слоги,слова, которые нужно набирать на...

Маленькая доработка программы - C++
Требуется написать программу для вычисления интеграла методом левых, правых и средних прямоугольников. Вот есть программа как вычислить 1...


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

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

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