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

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

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

Нужно найти ОШИБКУ в программе - C++

06.04.2012, 01:34. Просмотров 421. Ответов 2
Метки нет (Все метки)

УСЛОВИЕ:
Дан текст, состоящий не менее чем из пяти слов. Вывести на экран слова, которые имеют одинаковые окончания "ИЯ","ИСТ","ИКА".

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
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
void main ()
{
    setlocale(LC_ALL,"rus");
 int const n=100, kol=10;
    typedef char String [n];
    String s, mas [kol];
    cout<<"Введите строку: ";
    cin.getline (s,100);
    cout<<s<<endl;
    int k=0;
char* token=strtok(s," ");
while (token)
{
    strtoken (mas [k++], token);
    token = strtok (NULL," ");
}
cout<<"Массив слов:/n";
for (int i=0; i<k;i++)
cout<<mas[i]<<": "<<strlen (mas[i])<<endl;
String t;
for (int i=0,j=0;i<sizeof(k);++i, ++j)
{
    if (k[i]==' '|| k[i]==',' || k[i]== '.'=='\0')
    {
        mas[j]='\0';
        if ((strstr(&mas[j-3], "ИЯ")!=&mas[j])||(strstr(&mas[j-3],"ИКА")!=(strstr(&mas[j-3],"ИСТ")!=&mas[j])))
        {
            if (j>1) {
                cout<<mas<<endl;
            }
            j=-1;
        }
        else
        {
            mas[j]=k[i];
        }
    }
}}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2012, 01:34     Нужно найти ОШИБКУ в программе
Посмотрите здесь:

C++ найти ошибку в программе
C++ Найти ошибку в программе
нужно найти ошибку в программе с++ на двумерные массивы C++
найти ошибку в программе C++
C++ найти ошибку в программе
C++ Найти ошибку в программе
Найти ошибку в программе C++
C++ Найти ошибку в программе
Найти ошибку в программе C++
C++ Найти ошибку в программе
C++ Найти ошибку в программе
C++ Найти ошибку в программе

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
7045 / 5222 / 259
Регистрация: 10.12.2010
Сообщений: 22,951
Записей в блоге: 17
06.04.2012, 02:59     Нужно найти ОШИБКУ в программе #2
Какие ошибки выдает?
deadkill
0 / 0 / 0
Регистрация: 03.12.2011
Сообщений: 17
08.04.2012, 20:32  [ТС]     Нужно найти ОШИБКУ в программе #3
С той вообще всё не очень пошло, вот попробывал новую, но она тоже до конца не работает, всё таки строковый тип данных мне не даётся.
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
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
void main ()
{
 
 int const n=100, kol=10;
    typedef char String [n];
    String s, mas[kol];
    cout<<"Vvedide stroku: ";
    cin.getline (s,100);
    int k=0;
char* token=strtok(s," ");
while (token)
{
    strcpy (mas [k++], token);
    token = strtok (NULL," ");
}
cout<<"Massiv slov:/n";
for (int i=0; i<k;i++)
cout<<mas[i]<<endl;
 
for (int i=0;i<k;i++)
{
    
        
        if (strstr(mas[i], "ИЯ") || strstr(mas[i],"ИКА") || strstr(mas[i],"ИСТ"))
        {
            
                cout<<mas[i]<<endl;
            
        }
        
    }
}
Может эту поможете до ума довести?

Добавлено через 23 часа 30 минут
Всё таки как нужно вывести на экран с этими окончаниями?!
Yandex
Объявления
08.04.2012, 20:32     Нужно найти ОШИБКУ в программе
Ответ Создать тему
Опции темы

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