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

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

Войти
Регистрация
Восстановить пароль
 
Aymurat
101 / 95 / 29
Регистрация: 07.11.2014
Сообщений: 640
Завершенные тесты: 5
#1

Строка: создать string массив из 20 фамилии. - C++

16.11.2015, 17:33. Просмотров 447. Ответов 7
Метки нет (Все метки)

Подскажите, как работает string? Мне нужно создать string массив из 20 фамилии. Думал что-то вроде этого:
C++
1
2
std::string fam[1000];
fam[1000]={"Ivanov", "Alekdansrov","Sidorov","Pavlov","Durachenko","Morozenko","Alekseev","Poroshenko","Lukashenko","Shaychenko","Coi","Ovcharov","Magazov","Kireev","Pugachev","Viktorov","Lobanov","Nagiev","Dmitriev","Sergeev"};
Но выскакивает ошибка... Конечно и должна быть. Посмотрел пару примеров, оказывается то, что я написал 1000 - это кол-во символов. Как будет правильно?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2015, 17:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строка: создать string массив из 20 фамилии. (C++):

есть массив char. есть строка string. как присвоить значению string-a значение char-a? - C++
есть массив char. есть строка string. как присвоить значению string-a значение char-a?

Создать массив структур; убрать фамилии абонентов, адреса которых изменились - C++
Ребят, прошу, помогите дорешать задачу. Суть задачи: Создать массив структур каждый из которых складывается из следующих елементов: фамилии...

Как создать динамический массив типа string? Как создать класс такого массива? - C++
Как создать динамический массив типа string? Как создать класс такого массива? =-O Помогите, пожалуйста, очень нужна помощь!

Создать динамическую струтуру-массив с типом string и int - C++
Здравствуйте. Учу C++ по книге Прата и делаю его задачи. И тут попалась вот такая задача: создать динамическую струтуру-массив с типом...

Как создать и заполнить динамический массив строк типа std::string? - C++
Как создать и заполнить динамический массив строк типа string? Если заполнять массивы через getline(), почему то удаляется первая буква в...

Строка string и строка char - C++
Ребят помогиме. В общем задание такое дана строка типа string и строка char которая содержит символ к. В общем если в строке типа String ...

7
Kerry_Jr
Модератор
Эксперт PHP
2207 / 2003 / 701
Регистрация: 14.05.2014
Сообщений: 5,870
Записей в блоге: 1
Завершенные тесты: 5
16.11.2015, 17:43 #2
Aymurat,
C++
1
std::string fam[] = {"Ivanov", "Alekdansrov","Sidorov","Pavlov","Durachenko","Morozenko","Alekseev","Poroshenko","Lukashenko","Shaychenko","Coi","Ovcharov","Magazov","Kireev","Pugachev","Viktorov","Lobanov","Nagiev","Dmitriev","Sergeev"};
Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Aymurat Посмотреть сообщение
"Alekdansrov"

1
Aymurat
101 / 95 / 29
Регистрация: 07.11.2014
Сообщений: 640
Завершенные тесты: 5
16.11.2015, 17:44  [ТС] #3
А как теперь ее вызывать как массив? Например, printf("Ocenki u4enika %s",fam[i]")?
0
Kerry_Jr
Модератор
Эксперт PHP
2207 / 2003 / 701
Регистрация: 14.05.2014
Сообщений: 5,870
Записей в блоге: 1
Завершенные тесты: 5
16.11.2015, 17:45 #4
Aymurat, ага
1
Aymurat
101 / 95 / 29
Регистрация: 07.11.2014
Сообщений: 640
Завершенные тесты: 5
16.11.2015, 17:52  [ТС] #5
[Error] cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string<char>}' through '...'

Добавлено через 7 минут
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
#include <stdio.h>
#include <string>
int main()
{
    const int n=20;
    const int j=12;
    int ocenki[n-1][j-1];
    std::string fam[] = {"Ivanov", "Aleksandrov","Sidorov","Pavlov","Durachenko","Morozenko","Alekseev","Poroshenko","Lukashenko","Shaychenko","Coi","Ovcharov","Magazov","Kireev","Pugachev","Viktorov","Lobanov","Nagiev","Dmitriev","Sergeev"};
    double sred[n-1];
    int summ=0;
    int i,p;
    for (i=0; i<=n-1; i++)
    {
    for (p=0; p<=j-1; p++)
    {
        printf("Vvedite %i ocenku dlya %s: ",i+1, fam[i]); scanf("%i",ocenki[i][p]);
    }
    }
    for (i=0; i<=n-1; i++)
    {
        for (p=0; p<=j-1; p++)
        {
            summ+=ocenki[i][p];
        }
        sred[i]=summ/j;
    }
    
}
Это не вся версия, дальше еще нужно будет написать. И т.д., думаю пригодится код, чтобы узнать, почему ошибка.
0
Kerry_Jr
Модератор
Эксперт PHP
2207 / 2003 / 701
Регистрация: 14.05.2014
Сообщений: 5,870
Записей в блоге: 1
Завершенные тесты: 5
16.11.2015, 17:53 #6
Цитата Сообщение от Aymurat Посмотреть сообщение
C++
1
printf("Ocenki u4enika %s",fam[i])
отставить printf и scanf, они не умеют понимать крестовые строки, для вывода std::cout используй, для ввода же std::cin или std::getline(std::cin, строка).
1
Aymurat
101 / 95 / 29
Регистрация: 07.11.2014
Сообщений: 640
Завершенные тесты: 5
16.11.2015, 18:14  [ТС] #7
К сожалению, нужно писать на C

Добавлено через 20 минут
Есть варианты для C? Аналогичные?
0
Kerry_Jr
Модератор
Эксперт PHP
2207 / 2003 / 701
Регистрация: 14.05.2014
Сообщений: 5,870
Записей в блоге: 1
Завершенные тесты: 5
16.11.2015, 18:46 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Aymurat,
C++
1
char fam[][30] = {"Ivanov", "Aleksandrov","Sidorov","Pavlov","Durachenko","Morozenko","Alekseev","Poroshenko","Lukashenko","Shaychenko","Coi","Ovcharov","Magazov","Kireev","Pugachev","Viktorov","Lobanov","Nagiev","Dmitriev","Sergeev"};
1
16.11.2015, 18:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2015, 18:46
Привет! Вот еще темы с ответами:

строка с ипользыванием string - C++
Дано предложение. Напечатать все его слова, отличные от слова привет. Решить задачу с помощью типа (класса) string.

Неправильно инициализируется строка String - C++
Добрый день, уважаемые форумчане! Прошу вашей помощи в следующем вопросе: когда я инициализирую строку String con_str; ...

Utf-8 строка в std::string - C++
Добрый вечер, есть строка в UTF-8 - парсер(rapidjson cocos2dx c++) читаёт её как std::string, дальнейшее приобразование в wstring не...

Строка string, последний символ - C++
Подскажите, совсем голову сломал) В char массиве мы можем определить последний символ как '\0' А как найти его в string? Вот к...


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

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

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