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

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

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

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

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

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

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

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

Rudenok Sabina
Polishchuk Tanya
Kharchenko Julia
Tymoshenko Dasha

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

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


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

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

При сокращении "Фамилия Имя Отчество" к "Фамилия И.О." пропадают "И.О." - C++
Подскажите, в чём может быть ошибка? Процедура сама по себе работает правильно, а в таком виде нет. ...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата" - C++
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в программе ввести в массив данные и...

Реализовать структуру "Анкета" с полями "Фамилия", "Пол" и "Адрес" - C++
Здравствуйте. Проходим тему Структуры, не могу понять, как определить количество, само задание: #include <iostream> #include...

Написать функцию поиска человека по полю "фамилия" в массиве структур "Note" ("Персональная информация") - C++
Вывести из структуры информацию о человеке, чья фамилия введена с клавиатуры #include <iostream> #include <locale> #include...

Запросить у пользователя имя, фамилию, а затем вывести строку вида "фамилия, имя" - C++
С. Прата, "Язык программирования С++", 4 глава, задача 3. Напишите программу, которая запрашивает у пользователя имя, фамилию, а затем...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
11.12.2013, 17:42 #2
Sabi_na,
Offtop:
вам не помогают не потому, что не знают, как это сделать, а потому, что это смертельно скучно.
0
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
11.12.2013, 17:48  [ТС] #3
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na,
Offtop:
вам не помогают не потому, что не знают, как это сделать, а потому, что это смертельно скучно.
блин скучно, никто не хочет мне помочь(
я могу заплатить за эту задачу, она мне очень нужна.
0
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
11.12.2013, 17:55 #4
Sabi_na,
напишите пожалуйста в ЛС, когда вам нужна эта программа.
0
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
11.12.2013, 18:14  [ТС] #5
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na,
напишите пожалуйста в ЛС, когда вам нужна эта программа.
у меня еще закрытые ЛС, на пятницу сможешь сделать ?
0
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
11.12.2013, 18:20 #6
Sabi_na,
Offtop:
без проблем, если меня не опередят)
0
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
11.12.2013, 18:23  [ТС] #7
Цитата Сообщение от StackOverflow Посмотреть сообщение
Sabi_na,
Offtop:
без проблем, если меня не опередят)
ну если ты знаешь как делать и есть время, можешь и сейчас сделать, от меня большое спасибо и вознаграждение за помощь)
0
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
1
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 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;
    }
}
2
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
12.12.2013, 03:24 #10
gray_fox, Offtop:
Доброй ночи!)
Слил меня просто
0
gray_fox
What a waste!
1520 / 1223 / 70
Регистрация: 21.04.2012
Сообщений: 2,560
Завершенные тесты: 3
12.12.2013, 03:45 #11

Не по теме:

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



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

Не по теме:

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

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

P.S. Кстати, а как сделать, чтобы сообщение 'Не по теме' автоматически делалось, вот как у тебя. А то мне приходится вручную текст красить
0
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

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

а в этом коде что ты написал я вообще не могу ничего понять, я тебя прошу только одно сделай так что б все работало)
0
Sabi_na
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 20
12.12.2013, 11:43  [ТС] #14
ааа блин, просила друга в личку написать так как у меня ЛС еще закрытие, вообщем прости, но вся суть там изложена)
0
StackOverflow
All rights reserved.
91 / 81 / 5
Регистрация: 03.08.2013
Сообщений: 258
12.12.2013, 15:34 #15
Sabi_na, всё работает прекрасно. А тестовую информацию вы уже сами вводите. Если не работает, то пишите сюда сообщения компилятора, на какие ошибки он ссылается. Повторюсь, перепроверил, всё работает как часы.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 15:34
Привет! Вот еще темы с ответами:

Программа должна удалять из строки все символы, что стоят на чётных местах после буквы "а" - C++
Программа должна удалять из строки все символы, что стоят на чётных местах после буквы &quot;а&quot;. Сделал программу которая это делает, но только...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Класс "Телефонная станция". Массив символов и массив строк - в чем разница? - C++
Всем привет. Не могу исправить в программе пункт корректировки. Весь проект прикрепляю к сообщению. ...

При вводе определенных переменных программа должна возвращать пользователя обратно к первому шагу - C++
Здравствуйте. Хочу сделать так, чтобы при вводе любых чисел кроме 1 и 2, программа выдавала сообщение об ошибке и не закрывалась (так как...


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

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

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