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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.90
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
#1

Мне надо поменять cout-ы,чтобы сначала вводился текст,а потом искомое слово! - C++

15.11.2009, 00:42. Просмотров 2707. Ответов 44
Метки нет (Все метки)

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include<iostream.h>
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
 
void main(void)
{
clrscr();
char our_string[100];
char my_string[] = "exit";
int strings_count = 0;// shetchik strok
int words_count = 0;// shetchik slov
char *words;
char iskomoe_slovo[1000];
 
int iskomaya_stroka[100];
 
 
int i;
int ok;
 
cout << "Vvedite iskomoe slovo: " << endl;
cin >> iskomoe_slovo;
cout << "Vvedite text, dlya vihoda naberite 'exit': " << endl;
gets(our_string);
int j=0;  
while(strcmp(our_string,my_string)!=0){// esli nasha stroka = exit, to vihodim
words = strtok(our_string," . ; ? ! , ");
strings_count++;// uvelichivaem colvo strok na 1
    while(words != NULL){
        words_count++;// colvo slov uvelichivaem na 1
 
                ok=1;
                for(i=0;i <= strlen(iskomoe_slovo)-1;i++){
                
                    if((iskomoe_slovo[i] == words[i])&&(ok==1)){
                 
                        ok = 1;
                    }
                    else{
                        ok = 0;
                    }
                }
             if(ok==1)
{
 
 
 
    iskomaya_stroka[j]=strings_count;
                        
            j++;  
}
 
    words = strtok(NULL," . ; ? ! , ");// razbivaem stroku
    }
gets(our_string);// eshe raz prosim vvesti stroku
}
 
 
cout << endl << "strings count = " << strings_count;
cout << endl << "words count = " << words_count;
cout << endl << "iskomie stroki pod nomerami: " << endl;
        for(i=0;i<j;i++)        // вывод на экран номеров
        cout<<iskomaya_stroka[i]<<" ";
 
getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2009, 00:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Мне надо поменять cout-ы,чтобы сначала вводился текст,а потом искомое слово! (C++):

С++.Мне надо поменять cout-ы,чтобы сначала вводился текст,а потом искомое слово! - C++
И exit должен выходить после ввода текста. #include&lt;iostream.h&gt; #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;conio.h&gt; ...

Подскажите, что мне надо поменять в моем коде, чтобы найти сумму по столбцам? - C++
Вот моя программа, я тут нахожу сумму всех чисел, а мне надо найти сумму по столбцам, что мне изменить? #include &lt;stdio.h&gt; int...

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

Распределить элементы массива так, чтобы сначала стояли положительные, а потом отрицательные - C++
Даны целые числа n одномерного массива. Полная программа на c++.

Переписать файл так, чтобы сначала шли положительные, потом отрицательные числа - C++
Подскажите, пожалуйста, нужно ли что-то поменять или добавить в программу? Дан файл f, компоненты которого являются целыми числами....

Преобразовать массив таким образом, чтобы сначала располагались четные, а потом нечетные элементы - C++
Ребята , помогите : нужно составить алгоритм и программу преобразования массива A, таким образом , чтобы сначала распологались четные , а...

44
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
16.11.2009, 20:57 #31
да ++cnt - таже самая инкрементация, только значение cnt увеличивается сразу, в отличии от cnt++ , но лучше почитай это в учебнике, там всё подробно описанно. учебники в факе
0
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
16.11.2009, 22:13  [ТС] #32
TanT, Но как насчет счетчиков строк,как можно оптимизировать?может ее как счетчик строк содержащее искомое слово?а, наверно нет, потому что это j-счетчик строк содержащее искомое слово?..

Добавлено через 32 минуты
Цитата Сообщение от ромыч Посмотреть сообщение
TanT, Но как насчет счетчиков строк,как можно оптимизировать?может ее как счетчик строк содержащее искомое слово?а, наверно нет, потому что это j-счетчик строк содержащее искомое слово?..
Но как насчет счетчиков строк?

Добавлено через 32 минуты
TanT, Ответь мне пож. на вопрос,что делать с счетчиками строк,как их назвать или как оптимизировать?откомментируй...

P.s. И что думаешь насчет программы?какая она теперь,и надо ли ее оптимизировать?
0
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
17.11.2009, 20:23  [ТС] #33
TanT, Ответь мне пож. на вопрос,что делать с счетчиками строк,как их назвать или как оптимизировать?откомментируй...

P.s. И что думаешь насчет программы?какая она теперь,и надо ли ее оптимизировать?

не ужели нет никаких мнений и идей?..
а сможешь помочь с блок-схемой?
0
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
17.11.2009, 20:30 #34
да идей море, ты сам отказывался от варианта Андрейки. оптимизация, а точнее коренная переделка, необходима. но боюсь текущих познаний не хватит, хотя наверстать прижелании ты сможешь. вопрос тока: Зачем тебе нужна эта оптимизация? не принимают прогу?

Добавлено через 59 секунд
блок схемой неее, я их даже за деньги не очень то делаю, не люблю стрелочки эти рисовать.
0
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
17.11.2009, 20:55  [ТС] #35
TanT, вот именно,я просто хочу узнать твое мнение,примут прогу,нужна ли оптимизация?...не ужели прога такая плохая получилась? ты же все таки опытный,подскажи...
я и сам не хочу ее переделывать,меня все устраивает в ней...просто с счетчиками строк непонятки,как их назвать,чтобы различать...может их как один в цикле,другой в массиве)..объяснять же их надо будет,я из-за этого говорю...
Если что,вдруг,блок-схема есть,ее просто проверить...
0
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
18.11.2009, 12:45 #36
для начала получилась нормальная прога, просто здесь присутвуют элементы С от которых можно избавиться, сам код всётаки на С++ . ты всё равно, надеюсь, только пока не знаешь STL, можешь посмотреть что такое в С++ string и в частности его фунции find, примерно то тебе писал Андрейка.
и про контенеры почитать скажем про vector

Добавлено через 3 минуты
что касается счётчиков строк можешь свой strings_count уничтожить и вместо него выводить cnt-1
-1 - так как последняя строка "exit" не в счёт.
меня только удивляет чего ты сам это не сделаешь, зачем переспрашиваешь?
0
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
18.11.2009, 14:13  [ТС] #37
TanT, я это сделаю,просто не понимал какие комментарии писать к ним...
А можешь сказать,какие элементы С присутствуют и что такое STL?

Добавлено через 20 минут
Цитата Сообщение от ромыч Посмотреть сообщение
TanT, я это сделаю,просто не понимал какие комментарии писать к ним...
А можешь сказать,какие элементы С присутствуют и что такое STL?
вот еще,меняешь на cnt-1 общее число строк и слов считает, а искомое слово выводит че то не то,посмотри пож. в чем дело?
0
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
18.11.2009, 18:30 #38
да откуда я знаю в чём дело? ты же у себя в коде исправлял. мож ты не то изменил.
по STL я тебе отвечал что нужно посмотреть, хоть попробуй по гуглить.
много лишних вопросов, на которые ты сам прекрасно можешь ответить приложив толику старания.
бери все не знакомые тебе операторы, забивай в поиск или смотри в учебнике, иначе, даже если я тебе всё распишу до словно, в голове у тебя ничего не останеться.
очень хорошо и навеки запоминается, то с чем, я извиняюсь, мозг потрахаешь пару часиков, а то и денёк.
0
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
18.11.2009, 20:22  [ТС] #39
TanT, О'к,извини если что,я же только начинающий,сам понимаешь...но помоги с кодом пож.,мне только ее осталось исправить...напиши пож...
0
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
18.11.2009, 21:01 #40
чего тебе написать? код рабочий, что ещё надо? задача плёвая, толчом тут воду в ступе.
0
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
18.11.2009, 21:27  [ТС] #41
TanT, я знаю,что код рабочий... ты же сказал один можно счетчик строк оставить,чтобы упростить прогу... я же тебе писал уже,что объяснять надо будет прогу.а как различать тогда эти счетчики(strings_count и cnt)?как их называть.так оставить что ли?..вот поэтому мне и надо,чтобы ты мне код исправил,как ты сам предлогал мне ранее заменить с cnt-1...
0
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
19.11.2009, 06:35 #42
всё, последняя ревизия убрал я тебе счётчик. хватит мусолить эту задачу.
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
 
using namespace std;
void main(void)
{
    //clrscr();
    char our_string[100][100];
    char my_string[] = "exit";
    int strings_count = 0;// shetchik strok
    int words_count = 0;// shetchik slov
    char *words;
    char iskomoe_slovo[100];
 
    int iskomaya_stroka[100];
 
    int i;
 
    cout << "Vvedite text, dlya vihoda naberite 'exit': " << endl;
    do                                                                                                      // цикл... 
    {
        gets(our_string[strings_count]);  // ...считывает строки в массив our_string, инкрементируя cnt...
        ++strings_count;
    } while (strcmp(our_string[strings_count-1],my_string)!=0);               //...пока не встетит слово my_string
    
    --strings_count;
 
    cout << "Vvedite iskomoe slovo: " << endl;
    cin >> iskomoe_slovo;
 
    int j=0;  
    for (int c=0; c<strings_count; c++)                     // перебор всех строк из массива our_string
    { // это всё твоё
        words = strtok(our_string[c]," . ; ? ! , ");
        while(words != NULL)
        {
            words_count++;// colvo slov uvelichivaem na 1
            if(!strcmp(iskomoe_slovo,words))                // если искомое стролово совпало с рассматриваемым
            {
                iskomaya_stroka[j++]=c+1;             // увеличиваем счётчик
            }
            words = strtok(NULL," . ; ? ! , ");// razbivaem stroku
        }
 
    } // перебор по всему массиву
 
    cout << endl << "strings count = " << strings_count;
    cout << endl << "words count = " << words_count;
    if (!j)                         // если счётчик слов равен нулю
    {
        cout<<"\niskomie slovo ne naideno \n";
    }
    else
    {
        cout << endl << "\niskomie stroki pod nomerami: " << endl;
        for(i=0;i<j;i++)                // вывод на экран номеров
            cout<<iskomaya_stroka[i]<<" ";
    }
 
    getch();
}
1
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
19.11.2009, 14:09  [ТС] #43
TanT, Благодарю...
strings_count-1-это уменьшаем на 1,потому что exit не входит,а --strings_count ?
и c+1 увеличиваем на 1,чтобы все строки совпавшие выводить?
0
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
20.11.2009, 15:36  [ТС] #44
Цитата Сообщение от ромыч Посмотреть сообщение
TanT, Благодарю...
strings_count-1-это уменьшаем на 1,потому что exit не входит,а --strings_count ?
и c+1 увеличиваем на 1,чтобы все строки совпавшие выводить?
в цикле for (int c=0; c<strings_count; c++),strings_count без -1,потому что уменьшили на 1 уже в --strings_count?
0
ромыч
0 / 0 / 0
Регистрация: 15.11.2009
Сообщений: 46
21.11.2009, 20:37  [ТС] #45
TanT, strings_count-1-это уменьшаем на 1,потому что exit не входит,а зачем используем --strings_count ?
и c+1 увеличиваем на 1,чтобы все строки совпавшие выводить?
в цикле for (int c=0; c<strings_count; c++),strings_count без -1?
0
21.11.2009, 20:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2009, 20:37
Привет! Вот еще темы с ответами:

Расположить элементы массива так, чтобы сначала были отрицательные и нули, а потом положительные - C++
Дан массив из 12 элементов. Расположить элементы так,чтобы сначала были отрицательные и нули,а потом положительные. Порядок расстановки не...

Преобразовать последовательность чисел так, чтобы сначала были нули, а потом все остальные. - C++
Тема лабораторной работы: Работа с одномерными массивами. Задание: Преобразовать последовательность чисел так, чтобы сначала были нули, а...

Преобразовать массив, чтобы сначала располагались элементы, модуль которых не превышает 5, а потом остальные - C++
Помогите преобразовать массив таким образом, чтобы сначала располагались все элементы, модуль которых не превышает 5, а потом — все...

Переписать файл целых чисел так, чтобы сначала шли положительные, а потом - отрицательные - C++
Дан файл целых чисел F. Используя вспомогательный файл H переписать компоненты файла F файл G так, чтобы сначала были записаны все...


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

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

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