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

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

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

Строковые типа массив - C++

01.10.2013, 12:36. Просмотров 264. Ответов 7
Метки нет (Все метки)

Расположить предложения в порядке неубывания числа слов в них.

(При этом считать, что число предложений и число строк могут не совпадать, каждое слово находится целиком в одной строке, ввод строки завершается нажатием клавиши ENTER, точка – конец предложения).

Если можно ещё и блок-схему(или только блок-схему), т.к. программировать на Си начала недавно и пока трудно разобраться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2013, 12:36     Строковые типа массив
Посмотрите здесь:

Двумерный массив. Программу написать используя указатели и строковые функции. - C++
#include <iostream.h> int num (int **a, const int n, const int m); void sum (int **b, const int k, const int r); int main () { int...

Двумерный массив типа: - C++
Помогите пожалуйста решить задачу на Си: Сформировать и распечатать квадратную матрицу размерности (10,10) следующего вида: 0 0 … 0 0 1...

Функция типа массив - C++
Пока плохо знаю синтаксис С++, подскажите как сделать функцию типа массив (глупо както звучит). Вобщем мне нужно чтобы функция возвращала...

Массив типа boolean - C++
int main(int argc, char** argv) { bool A; return 0; } Такой массив будет заполнен 1 и 0??

Динамический массив типа void - C++
Объявлен двумерный массив в глобальных: void **buf; Размер как и тип определяются в рантайме.. Нужно чтоб это заработало: buf = new...

Массив с элементами типа float - C++
Суть задания звучит следующим образом : создать двумерный массив с элементами типа float, инициализировать его элементы произвольными...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6442 / 3081 / 306
Регистрация: 04.12.2011
Сообщений: 8,485
Записей в блоге: 4
01.10.2013, 13:54     Строковые типа массив #2
Цитата Сообщение от awards Посмотреть сообщение
Если можно ещё и блок-схему(или только блок-схему), т.к. программировать на Си начала недавно и пока трудно разобраться.
awards, так на С или С++ написать?
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
01.10.2013, 14:40     Строковые типа массив #3
где именно возникают у вас проблемы в алгоритме и программе?
awards
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 12
02.10.2013, 23:01  [ТС]     Строковые типа массив #4
Цитата Сообщение от IGPIGP Посмотреть сообщение
awards, так на С или С++ написать?
Написать на С++.

Добавлено через 1 минуту
Проблемы возникают в алгоритме.
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
02.10.2013, 23:11     Строковые типа массив #5
Если в алгоритме, то тут все очень просто.
В идеале предложение у нас получается динамический список слов.
Т.о. предложение получается путем добавления элементов в список через построчный ввод строк.
Концом предложения правда не понятно считать только точку или же слово с точкой в конце. Но то не суть важно. и то и другое можно сделать одинаковой проверкой (последний символ слова равен точке).
Получив предложение мы знаем количество слов в нем.
Т.к количество предложений нам так-же не известно, то предложения добавляются так же в динамический список.
При этом мы добавляем предложение а список таким образом, чтобы у предыдущего предложения количество слов было меньше чем у текущего а у следующего предложения количество слов было не меньше текущего.
Вуаля. Задача готова. При этом она получается готовой в любой момент как только было введено очередное предложение.

Вот вам и алгоритм.
Если же сложно пользоваться динамическими списками можно внести ограничение на максимальное количество слов в предложений и предложений вообще. И после этого использовать массивы.
awards
0 / 0 / 0
Регистрация: 22.11.2012
Сообщений: 12
02.10.2013, 23:18  [ТС]     Строковые типа массив #6
Здесь нужно использовать принцип сортировки массива по неубыванию элементов в строке, я правильно понимаю?
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
02.10.2013, 23:25     Строковые типа массив #7
Цитата Сообщение от awards Посмотреть сообщение
Расположить предложения в порядке неубывания числа слов в них.
проще говоря каждое следующее предложение содержит столько же или больше слов чем предыдущее.
протокол формирования предложения указан ниже в задании
Цитата Сообщение от awards Посмотреть сообщение
(При этом считать, что число предложений и число строк могут не совпадать, каждое слово находится целиком в одной строке, ввод строки завершается нажатием клавиши ENTER, точка – конец предложения).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2013, 00:17     Строковые типа массив
Еще ссылки по теме:

Массив из 15 элементов типа longlong - C++
Кому не составит труда, создайте, пожалуйста, массив из 15 элементов типа longlong, каждый из которых равен факториалу своего индекса (т.е....

Массив типа set (контейнер) - C++
Как создать массив set'ов (контейнеров) и как с ним дальше работать? если возможно, напишите пример. Заранее очень благодарен.

Массив элементов типа Union - C++
Нужно создать массив элементов типа Union проблема в том, что никак не получается воплотить это. Если я не ошибаюсь, то это по-идеи должно...

Массив типа char без ограничения - C++
Помогите создать массив именно типа char без четкого ограничения. Мне говорили, что это можно реализовать так. Но если я так делаю, то оно...


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

Или воспользуйтесь поиском по форуму:
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6442 / 3081 / 306
Регистрация: 04.12.2011
Сообщений: 8,485
Записей в блоге: 4
03.10.2013, 00:17     Строковые типа массив #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
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <strstream>
#include <string>
#include <vector>
#include <algorithm>
#include <windows.h>
using namespace std;
int word_count( string sorcStr){
strstream strSream;
strSream << sorcStr;
string word;
int cnt=0;
while( strSream >> word ) cnt++;
return cnt;
}
 
bool compire_str(string a, string b){
    int a_i = word_count( a );
    int b_i = word_count( b );
    if( a_i > b_i ) return true;
    return false;
}
int main(){
SetConsoleCP (1251); SetConsoleOutputCP (1251);
vector<string> arr_str;
cout << "Введите строки\nконец ввода - последовательное нажатие Enter (конец последней строки), \nа за тем Cntrl+Z и снова Enter..." <<endl;
const size_t max_strlen = 512;
char inp_str[max_strlen+1];
while(cin.getline(inp_str, max_strlen, '\n')) arr_str.push_back(inp_str);
vector<string>::iterator strt = arr_str.begin();
vector<string>::iterator fnsh = arr_str.end();
cout << "Введено:" << endl;
for(vector<string>::iterator it = strt; it != fnsh; ++it) cout << *it << endl;
sort( strt, fnsh, compire_str );
cout << "Получено:" << endl;
for(vector<string>::iterator it = strt; it != fnsh; ++it)cout << *it << " " << word_count( *it ) << endl;
cout << endl;
system("pause");   
return 0;
}
алгоритм не сложный.
Yandex
Объявления
03.10.2013, 00:17     Строковые типа массив
Ответ Создать тему
Опции темы

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