Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2009, 14:32   #1
InstanT'
 
Регистрация: 07.11.2009
Сообщений: 9
Вопрос Строки в C++

В общем мне потребовалось написать лабу на тему "Строки" следующего содержания : "Ввести строку из нескольких фамилий отделенных запятыми , вставить имена для каждой фамилии и вывести на экран"
У меня есть одна идея, как это осуществить- путём создания еще 1 массива и поиском в введенной строке запятой ,переносом фамилии до запятой во 2 массив,далее переносом имени и т.д....Но помоему есть способ попроще..если кто-нибудь знает как помочь,подскажите пож-ста..


P.s. Заранее спасибо.
InstanT' вне форума Ответить с цитированием
Старый 07.11.2009, 19:44   #2
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Вот

Код:
#include <iostream>
#include <conio>
#include <string>
using namespace std;
int main()
{
        string s1("Ivanov, Petrov, Vasiliev."),
             s2[]={"Ivan","Petr","Vasia"};
        int c=0;
        for(int i=1;i<=(int)s1.length();i++)
                if(s1[i]==','||s1[i]=='.')
                {
                        s1.insert(i," "+s2[c++]);
                        i = i+s2[c-1].length()+1;
                }
        cout<<s1<<endl;
        getch();
        return 0;
}
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 08.11.2009, 18:38   #3
InstanT'
 
Регистрация: 07.11.2009
Сообщений: 9
По умолчанию

Спасибо за помощь,но появился ряд вопросов, касающихся данного кода..

Код:
#include <vcl.h>
#pragma hdrstop
#include <iostream>
#include <conio>
#include <string>
using namespace std;
int main()
{
        string s1,s2[]={"Ivan","Petr","Vasia"};
        int c=0;
        cout<<"BBegute 4epe3 3an9TylO 3 <l>aMuJIuu ,"
            <<"\n nocJIe nocJIegHeu <l>aMuJIuu nocTaBbTe To4ky(!!!)\n";
        cin >>s1;
        for(int i=1;i<=(int)s1.length();i++)
                if(s1[i]==','||s1[i]=='.')
                {
                        s1.insert(i," "+s2[c++]);
                        i = i+s2[c-1].length()+1;
                }
        cout<<s1<<endl;
        getch();
        return 0;
}
Красным выделил то, что не совсем понимаю...может объясните?)
значек || аналог && ? т.е. или то или то?
Вообще как я понял, программа выполняет поиск точки,либо запятой, далее как только точка или запятая найдены,вставляет имя и продолжает поиск?

Последний раз редактировалось InstanT'; 08.11.2009 в 18:43.
InstanT' вне форума Ответить с цитированием
Старый 09.11.2009, 12:05   #4
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

&& - логическое "И"
|| - логическое "ИЛИ"
bondik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
строки си pif Помощь студентам 0 20.04.2009 15:28
Строки. Как вывести часть строки? Anfall Общие вопросы Delphi 7 26.02.2009 09:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45