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

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

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

Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" - C++

11.12.2013, 17:05. Просмотров 939. Ответов 25
Метки нет (Все метки)

Всем привет.
Помогите пожалуйста, написать код, так как сама не разбираюсь, а нужно сделать эту задачу)
Всем буду очень благодарна за помощь.

Условие задачи:
Введите с клавиатуры терминала массив строк. Каждая строка имеет вид:" Фамилия Имя" (разделяются одним пробелом). Признак окончания ввода массива - строка, содержащая слово "exit". Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия".

Вот для примера используйте пожалуйста эти имена и фамилии:

Rudenok Sabina
Polishchuk Tanya
Kharchenko Julia
Tymoshenko Dasha

а выводить должно:
S. Rudenok
T. Polishchuk
J. Kharchenko
D. Tymoshenko

Добавлено через 5 часов 18 минут


Добавлено через 18 часов 20 минут
может кто-то делал похожий пример ? помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2013, 17:05     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия"
Посмотрите здесь:

Определить, существует ли путь от первой ко второй точке, состоящий из "0" C++
C++ Unicode, UTF-8 и ANSI в одном консольном приложении. Можно ли "на лету" конвертировать массив строк?
C++ количество строк начинающих на "А" и заканчивающиеся на "и"
C++ Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а"
C++ Функция должна возвращать новый массив, состоящий из отрицательных элементов исходного массива
C++ Класс "Телефонная станция". Массив символов и массив строк - в чем разница?
C++ Определить, имеется ли в заданном списке фамилия, начинающаяся с буквы "А" и состоящая из 6 букв
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
11.12.2013, 17:42     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #2
Sabi_na,
Offtop:
вам не помогают не потому, что не знают, как это сделать, а потому, что это смертельно скучно.
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
11.12.2013, 17:48  [ТС]     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #3
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na,
Offtop:
вам не помогают не потому, что не знают, как это сделать, а потому, что это смертельно скучно.
блин скучно, никто не хочет мне помочь(
я могу заплатить за эту задачу, она мне очень нужна.
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
11.12.2013, 17:55     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #4
Sabi_na,
напишите пожалуйста в ЛС, когда вам нужна эта программа.
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
11.12.2013, 18:14  [ТС]     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #5
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na,
напишите пожалуйста в ЛС, когда вам нужна эта программа.
у меня еще закрытые ЛС, на пятницу сможешь сделать ?
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
11.12.2013, 18:20     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #6
Sabi_na,
Offtop:
без проблем, если меня не опередят)
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
11.12.2013, 18:23  [ТС]     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #7
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na,
Offtop:
без проблем, если меня не опередят)
ну если ты знаешь как делать и есть время, можешь и сейчас сделать, от меня большое спасибо и вознаграждение за помощь)
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
12.12.2013, 02:44     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #8
Sabi_na,
если есть вопросы, спрашивай, на все отвечу.
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
69
70
71
72
73
74
75
//StackOverflow
//All rights reserved.
 
#include <iostream>
#include <vector>
#include <cctype>
using namespace std;
 
int main()
{
    const int capacity = 50;
    vector<string> * catalog[ capacity ];
    
    for ( int i = 0; i < capacity; i++ )
    {
        catalog[ i ] = new vector<string>;
        catalog[ i ]->reserve( 2 );
    }
 
    int index = 0;
    string fullName;
 
    do {
        getline( cin, fullName );
 
        string name;
        string surname;
        size_t position = fullName.find( ' ', 0 );
 
        while ( position != std::string::npos )
        {
            if ( position == 0 )
            {
                fullName.erase( fullName.begin() );
                position = fullName.find( ' ', 0 );
            }
            else
            {
                surname.assign( fullName, 0, position );
                name.assign( fullName, position + 1, fullName.length() - ( position + 1 ) );
                catalog[ index ]->push_back( name );
                catalog[ index ]->push_back( surname );
                position = std::string::npos;
            }
        }
        
        ++index;
 
    } while ( fullName.compare( "exit" ) != 0 || index == capacity );
 
    
    for ( int i = 0; catalog[ i ]->empty() != true; i++ )
    {
        if ( islower( ( catalog[ i ]->at( 0 ) ).at( 0 ) ) )
        {
            toupper( ( catalog[ i ]->at( 0 ) ).at( 0 ) );
        }
 
        if ( islower( ( catalog[ i ]->at( 1 ) ).at( 0 ) ) )
        {
            toupper( ( catalog[ i ]->at( 1 ) ).at( 0 ) );
        }
 
        cout << ( catalog[ i ]->at( 0 ) ).at( 0 ) << ". " << catalog[ i ]->at( 1 ) << endl;
    }
 
 
    for ( int i = 0; i < capacity; i++ )
    {
        delete catalog[ i ];
    }
 
 
    return 0;
}
Добавлено через 53 минуты
В 49 строчке исправить на:
C++
1
index != capacity
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
12.12.2013, 03:20     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #9
Вроде так)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <sstream>
#include <string>
 
 
int main() {
   for (std::string line; std::getline(std::cin, line) && (line != "exit"); ) {
       std::istringstream iss(line);
       std::string forename, familyname;
 
       iss >> familyname >> forename;
       
       std::cout << forename[0] << ". " << familyname << std::endl;
    }
}
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
12.12.2013, 03:24     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #10
gray_fox, Offtop:
Доброй ночи!)
Слил меня просто
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
12.12.2013, 03:45     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #11

Не по теме:

Цитата Сообщение от StackOverflow Посмотреть сообщение
Доброй ночи!)
Доброй)
Цитата Сообщение от StackOverflow Посмотреть сообщение
Слил меня просто
Да ладно...)



Добавлено через 7 минут

Не по теме:

Хорошо, извиняюсь, больше не буду вмешиваться...

StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
12.12.2013, 04:09     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #12
gray_fox, Offtop:
Да ладно, я всегда только рад что-нибудь новенькое узнать!) Сохранил твой вариант у себя)

P.S. Кстати, а как сделать, чтобы сообщение 'Не по теме' автоматически делалось, вот как у тебя. А то мне приходится вручную текст красить
Ram_SG
0 / 0 / 0
Регистрация: 07.11.2013
Сообщений: 14
12.12.2013, 11:33     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #13
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na,
если есть вопросы, спрашивай, на все отвечу.
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
69
70
71
72
73
74
75
//StackOverflow
//All rights reserved.
 
#include <iostream>
#include <vector>
#include <cctype>
using namespace std;
 
int main()
{
    const int capacity = 50;
    vector<string> * catalog[ capacity ];
    
    for ( int i = 0; i < capacity; i++ )
    {
        catalog[ i ] = new vector<string>;
        catalog[ i ]->reserve( 2 );
    }
 
    int index = 0;
    string fullName;
 
    do {
        getline( cin, fullName );
 
        string name;
        string surname;
        size_t position = fullName.find( ' ', 0 );
 
        while ( position != std::string::npos )
        {
            if ( position == 0 )
            {
                fullName.erase( fullName.begin() );
                position = fullName.find( ' ', 0 );
            }
            else
            {
                surname.assign( fullName, 0, position );
                name.assign( fullName, position + 1, fullName.length() - ( position + 1 ) );
                catalog[ index ]->push_back( name );
                catalog[ index ]->push_back( surname );
                position = std::string::npos;
            }
        }
        
        ++index;
 
    } while ( fullName.compare( "exit" ) != 0 || index == capacity );
 
    
    for ( int i = 0; catalog[ i ]->empty() != true; i++ )
    {
        if ( islower( ( catalog[ i ]->at( 0 ) ).at( 0 ) ) )
        {
            toupper( ( catalog[ i ]->at( 0 ) ).at( 0 ) );
        }
 
        if ( islower( ( catalog[ i ]->at( 1 ) ).at( 0 ) ) )
        {
            toupper( ( catalog[ i ]->at( 1 ) ).at( 0 ) );
        }
 
        cout << ( catalog[ i ]->at( 0 ) ).at( 0 ) << ". " << catalog[ i ]->at( 1 ) << endl;
    }
 
 
    for ( int i = 0; i < capacity; i++ )
    {
        delete catalog[ i ];
    }
 
 
    return 0;
}
Добавлено через 53 минуты
В 49 строчке исправить на:
C++
1
index != capacity
исправила я 49 строчку и не работает задача(
и почему в коде я не видела этой информации
Rudenok Sabina
Polishchuk Tanya
Kharchenko Julia
Tymoshenko Dasha

мне же должно выводить И. Фамилия.

а в этом коде что ты написал я вообще не могу ничего понять, я тебя прошу только одно сделай так что б все работало)
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
12.12.2013, 11:43  [ТС]     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #14
ааа блин, просила друга в личку написать так как у меня ЛС еще закрытие, вообщем прости, но вся суть там изложена)
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
12.12.2013, 15:34     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #15
Sabi_na, всё работает прекрасно. А тестовую информацию вы уже сами вводите. Если не работает, то пишите сюда сообщения компилятора, на какие ошибки он ссылается. Повторюсь, перепроверил, всё работает как часы.
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
12.12.2013, 17:28  [ТС]     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #16
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na, всё работает прекрасно. А тестовую информацию вы уже сами вводите. Если не работает, то пишите сюда сообщения компилятора, на какие ошибки он ссылается. Повторюсь, перепроверил, всё работает как часы.
1> Создание каталога "c:\users\sabina\documents\visual studio 2010\Projects\oq\Debug\".
1>InitializeBuildStatus:
1> Создание "Debug\oq.unsuccessfulbuild", так как было задано "AlwaysCreate".
1>ClCompile:
1> oq.cpp
1>c:\users\sabina\documents\visual studio 2010\projects\oq\oq\oq.cpp(21): error C3861: getline: идентификатор не найден
1>c:\users\sabina\documents\visual studio 2010\projects\oq\oq\oq.cpp(61): error C2679: бинарный "<<": не найден оператор, принимающий правый операнд типа "std::basic_string<_Elem,_Traits,_Ax>" (или приемлемое преобразование отсутствует)
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(679): может быть "std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(726): или "std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(764): или "std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const char *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(811): или "std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,char)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(937): или "std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const signed char *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(944): или "std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,signed char)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(951): или "std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const unsigned char *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(958): или "std::basic_ostream<_Elem,_Traits> &std::operator <<<std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,unsigned char)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(968): или "std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>,std::basic_string<_Elem,_Traits,_Ax>>(std::basic_ostream<_Elem,_Traits> &&,_Ty)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>,
1> _Ax=std::allocator<char>,
1> _Ty=std::basic_string<char,std::char_traits<char>,std::allocator<char>>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(1085): или "std::basic_ostream<_Elem,_Traits> &std::operator <<<char,std::char_traits<char>>(std::basic_ostream<_Elem,_Traits> &,const std::error_code &)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(186): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ostream<_Elem,_Traits> &(__cdecl *)(std::basic_ostream<_Elem,_Traits> &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(192): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_ios<_Elem,_Traits> &(__cdecl *)(std::basic_ios<_Elem,_Traits> &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(199): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::ios_base &(__cdecl *)(std::ios_base &))"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(206): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::_Bool)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(226): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(short)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(260): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned short)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(280): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(int)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(305): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned int)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(325): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(345): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned long)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(366): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(__int64)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(386): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(unsigned __int64)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(407): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(float)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(427): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(double)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(447): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(long double)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(467): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(const void *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\ostream(487): или "std::basic_ostream<_Elem,_Traits> &std::basic_ostream<_Elem,_Traits>::operator <<(std::basic_streambuf<_Elem,_Traits> *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> при попытке сопоставить список аргументов "(std::basic_ostream<_Elem,_Traits>, std::basic_string<_Elem,_Traits,_Ax>)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:02.62
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========



вот смотри что пишет (
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
12.12.2013, 17:45     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #17
Sabi_na, он ругается на 24 и 64 строчки моего кода, но они совершенно тривиальны. Даже не знаю, в чём дело у этого продукта от майкрософт. Попробуйте добавить директиву #include <string> в самом начале.
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
12.12.2013, 17:51  [ТС]     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #18
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na, он ругается на 24 и 64 строчки моего кода, но они совершенно тривиальны. Даже не знаю, в чём дело у этого продукта от майкрософт. Попробуйте добавить директиву #include <string> в самом начале.
добавила, теперь ошибки нет, запустила в окне ничего не выводит, можешь мне для примера в этот код вставить одну Фамилию и Имя, остальные уже по примеру сама буду как-то вставлять)
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
12.12.2013, 17:56     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #19
Sabi_na, так вы начинайте данные вводить. Он и не будет вам ничего выводить, пока вы сами, ручками, не пропишите Фамилию Имя и не нажмёте Enter. Потом введите exit, нажмите Enter и вуаля!
И, да, условие в 49 строчке исправьте на:
C++
1
fullName.compare( "exit" ) != 0 && index < capacity
Так надёжнее и правильнее. Потом уже собирайте.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 18:05     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия"
Еще ссылки по теме:

C++ При вводе определенных переменных программа должна возвращать пользователя обратно к первому шагу
Есть ли в структуре человек, чья фамилия начинается на букву "B". Найти ошибку C++
Заполнять массив строк пока не будет введено слово "stop". C++
C++ Класс "Одномерный массив строк фиксированной длины"
C++ Описать шаблон класса АТД: "Участник очереди на печать издания: фамилия, телефон, количество страниц"

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

Или воспользуйтесь поиском по форуму:
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
12.12.2013, 18:05  [ТС]     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия" #20
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na, так вы начинайте данные вводить. Он и не будет вам ничего выводить, пока вы сами, ручками, не пропишите Фамилию Имя и не нажмёте Enter. Потом введите exit, нажмите Enter и вуаля!
И, да, условие в 49 строчке исправьте на:
C++
1
fullName.compare( "exit" ) != 0 && index < capacity
Так надёжнее и правильнее. Потом уже собирайте.

#include <string>
#include <iostream>
#include <vector>
#include <cctype>
using namespace std;

int main()
{
const int capacity = 50;
vector<string> * catalog[ capacity ];

for ( int i = 0; i < capacity; i++ )
{
catalog[ i ] = new vector<string>;
catalog[ i ]->reserve( 2 );
}

int index = 0;
string fullName;

do {
getline( cin, fullName );

string name;
string surname;
size_t position = fullName.find( ' ', 0 );

while ( position != std::string::npos )
{
if ( position == 0 )
{
fullName.erase( fullName.begin() );
position = fullName.find( ' ', 0 );
}
else
{
surname.assign( fullName, 0, position );
name.assign( fullName, position + 1, fullName.length() - ( position + 1 ) );
catalog[ index ]->push_back( name );
catalog[ index ]->push_back( surname );
position = std::string::npos;
}
}

++index;

} while ( fullName.compare( "exit" ) != 0 && index < capacity );


for ( int i = 0; catalog[ i ]->empty() != true; i++ )
{
if ( islower( ( catalog[ i ]->at( 0 ) ).at( 0 ) ) )
{
toupper( ( catalog[ i ]->at( 0 ) ).at( 0 ) );
}

if ( islower( ( catalog[ i ]->at( 1 ) ).at( 0 ) ) )
{
toupper( ( catalog[ i ]->at( 1 ) ).at( 0 ) );
}

cout << ( catalog[ i ]->at( 0 ) ).at( 0 ) << ". " << catalog[ i ]->at( 1 ) << endl;
}


for ( int i = 0; i < capacity; i++ )
{
delete catalog[ i ];
}


return 0;
}


ты наверно с меня гонишь там)))
ладно вообщем исправила я вот так как ты и говорил.
потом запускаю программу, пишу в этом окне Rudenok Sabina, нажимаю enter и просто переводит на нижнюю строку, ничего оно мне не выводит(
Yandex
Объявления
12.12.2013, 18:05     Программа должна возвращать новый массив, состоящий из строк вида "И. Фамилия"
Ответ Создать тему
Опции темы

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