Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
1

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

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

Как занести в динамическую память введеные с клавиатуры предложения, вводить до тех пор, пока не будет введено предложение, в котором будет только одна буква "К". Вывести предложения в таком порядке, что бы предложения были рассположены в порядке спадания количества слов. В программе применить функцыю подсчета слов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2009, 23:52
Ответы с готовыми решениями:

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

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

Как применить динамическую память?
Помогите пожайлуста!!!!! Как в слейдущей программе применить динамическую память????? #include...

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

10
Почетный модератор
7266 / 2542 / 256
Регистрация: 29.07.2006
Сообщений: 13,465
16.06.2009, 00:18 2
Можно заюзать <vector> из string и туда их класть. Когда одна "К" введется пойдешь по вектору с замечательной функций подсчета слов и выводом.
0
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
16.06.2009, 00:29  [ТС] 3
это должно делатся в Borland C++ 3.1
0
Почетный модератор
7266 / 2542 / 256
Регистрация: 29.07.2006
Сообщений: 13,465
16.06.2009, 00:38 4
а там нет STL? Не помню нифига уже.
Ну тогда создай массив указателей на строки и выделяй память для каждой следующей строки по мере ввода пользователем.
0
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
18.06.2009, 10:34  [ТС] 5
нету. я переписал пять вариантов программ. не работаею как нужно.
0
2341 / 497 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
18.06.2009, 11:34 6
Цитата Сообщение от NAG Посмотреть сообщение
я переписал пять вариантов программ. не работаею как нужно.
хоть один покажи.
0
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
121 / 121 / 14
Регистрация: 14.03.2009
Сообщений: 462
18.06.2009, 21:32 8
Цитата Сообщение от NAG Посмотреть сообщение
функцыя numb_word для подсчета пробелов, что равно количеству слов.
первое что в глаза попало:в предложении число слов не равно числу пробелов, а равно числу пробелов+1
0
42 / 42 / 8
Регистрация: 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
8 / 8 / 1
Регистрация: 15.03.2009
Сообщений: 267
19.06.2009, 09:44  [ТС] 10
она в Borland C++ 3.1 не скомпилируется.
0
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2009, 12:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Задание на указатели и динамическую память
Необходимо написать функцию numberstring( ) для подсчета числа строк в тексте. Напечатать это...

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

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


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

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

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