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

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

Войти
Регистрация
Восстановить пароль
 
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
#1

Предложения в динамическую память - C++

15.06.2009, 23:52. Просмотров 784. Ответов 10
Метки нет (Все метки)

Как занести в динамическую память введеные с клавиатуры предложения, вводить до тех пор, пока не будет введено предложение, в котором будет только одна буква "К". Вывести предложения в таком порядке, что бы предложения были рассположены в порядке спадания количества слов. В программе применить функцыю подсчета слов.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2009, 23:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Предложения в динамическую память (C++):

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

Как применить динамическую память? - C++
Помогите пожайлуста!!!!! Как в слейдущей программе применить динамическую память????? #include <stdio.h> #include<conio.h> #define N...

Задачи про динамическую память - C++
Сегодня попалась такая задача: ременной p хранится адрес динамически выделенной памяти, являющейся массивом из 5 чисел типа int. Но...

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

Зачем использовать динамическую память? - C++
Прошу в двух словах разъяснить зачем используют динамическую память на практике. Заранее всем добрым людям спс!

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.06.2009, 00:18 #2
Можно заюзать <vector> из string и туда их класть. Когда одна "К" введется пойдешь по вектору с замечательной функций подсчета слов и выводом.
0
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
16.06.2009, 00:29  [ТС] #3
это должно делатся в Borland C++ 3.1
0
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
16.06.2009, 00:38 #4
а там нет STL? Не помню нифига уже.
Ну тогда создай массив указателей на строки и выделяй память для каждой следующей строки по мере ввода пользователем.
0
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
18.06.2009, 10:34  [ТС] #5
нету. я переписал пять вариантов программ. не работаею как нужно.
0
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
18.06.2009, 11:34 #6
Цитата Сообщение от NAG Посмотреть сообщение
я переписал пять вариантов программ. не работаею как нужно.
хоть один покажи.
0
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
18.06.2009, 20:28  [ТС] #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
31
32
33
34
35
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int numb_word (char *str, char *let=" ");
void main (void)
{ //main
char *rech; int k=0, k_num=0;;
clrscr ();
do
{ //do
gets(rech);
k=numb_word(rech, " ");
k=k+1; //schitaet poslednee slovo
if(*rech=='k')
{
k_num++;
}
printf ("%d", k_num);
} //do
while(k_num!=1);
} //main
 
 
//------------------------------------
int numb_word (char *str, char *let)
{
char *p; int k=0;
let=" ";
p=str;
while (*p!='\0')
{ //while
if(*p==' ') k++; p++;
}//while
return k;
}
Добавлено через 1 минуту 43 секунды
функцыя numb_word для подсчета пробелов, что равно количеству слов.
0
EnzoMatrix
120 / 120 / 5
Регистрация: 14.03.2009
Сообщений: 462
18.06.2009, 21:32 #8
Цитата Сообщение от NAG Посмотреть сообщение
функцыя numb_word для подсчета пробелов, что равно количеству слов.
первое что в глаза попало:в предложении число слов не равно числу пробелов, а равно числу пробелов+1
0
Даемоник
42 / 42 / 3
Регистрация: 22.05.2009
Сообщений: 97
18.06.2009, 22:15 #9
У меня небольшое предложение) Меня эта задачка заинтересовала, ну я вот немного наваял:
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 <iostream.h>
#include <conio.h>
#define Buff 256
 
int main()
{
    int i=0;
    int counter;
    char *string;
 
    string = new char [Buff];
 
    cout<<"Enter your string : \n";
    while (1)
    {
        cin.get(string[i]);
        if ()
        {
            break;
        }
        else i++;
    }
    getch();
    return 0;
}
Основная проблема в том, что я никак не могу догнать, что надо написать в условии if, для того чтобыпрограмма выходила из цикла, если в предложении одна буква К.
Может попробовать написать функцию, которая будет этим делом( то бищь проверкой) заниматься? Если есть у кого-нибудь какие предложения, поделитесь пожалуйста)
0
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
19.06.2009, 09:44  [ТС] #10
она в Borland C++ 3.1 не скомпилируется.
0
NAG
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
21.06.2009, 12:09  [ТС] #11
функцыя
C
1
int numb_word (char *str, char *let)
по идеи можно использовать и для подсчета букв "К".

Добавлено через 7 минут 11 секунд
Вот теперь считает количество "к" правильно. И Выходит из цыкла(останавливает ввод) если количество к равно 1. А как тепер это все дело занести в динамическую память и посортировать?
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
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int numb_word (char *str, char *let=" ");
int numb_k (char *str, char *let=" ");
void main (void)
{ //main
char *rech; int k=0, k_num=0;;
clrscr ();
clrscr ();
do
{ //do
gets(rech);
k=numb_word(rech, " ");
k=k+1; //schitaet poslednee slovo
k_num=numb_k(rech,"k");
printf ("%d /n", k_num);
} //do
while(k_num!=1);
} //main
 
 
//------------------------------------
int numb_word (char *str, char *let)
{
char *p; int k=0;
let=" ";
p=str;
while (*p!='\0')
{ //while
if(*p==' ') k++; p++;
}//while
return k;
}
int numb_k (char *str, char *let)
{
char *p; int k=0;
let=" ";
p=str;
while (*p!='\0')
{ //while
if(*p=='k') k++; p++;
}//while
return k;
}
Добавлено через 5 часов 34 минуты 4 секунды
как теперь эти строки отсортировать за количеством слов/пробелов????

Добавлено через 56 минут 11 секунд
аууу.. гражданэ програамммммисты?? ))

Добавлено через 17 часов 30 минут 51 секунду
ПОМОГИТЕ ОЧЕНЬ СТОЧНО НАДО!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2009, 12:09
Привет! Вот еще темы с ответами:

Как правильно распределить динамическую память? - C++
При запуске программы и вводе строки, в одном случае программа выполняется, а в другом выдает, что прекращена работа программы. Понимаю,...

Считать BMP изображение в динамическую память - C++
Нужно считать ВМР изображение в массив в динамической памяти используя fstream.

Как реализовать ввод с клавиатуры в динамическую память? - C++
Я написал код программы, нахождение корней квадратного уравнения, где a, b, c находятся в динамической памяти. Вопрос, как записать...

Создать массив размера n+1, не используя динамическую память - C++
Часто встречающийся вопрос,но я не могу найти на него ответ,потому что не могу коротко сформулировать. Вот считываю из файла число n.Мне...


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

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

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