С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/34: Рейтинг темы: голосов - 34, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 9

Заполнение массива структур случайными символами

09.03.2017, 20:51. Показов 6986. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Есть такое задание:
Разработайте программу «Библиотека». Создайте структуру «Книга» (название, автор, издательство, жанр). Создайте массив из 10 книг. Реализуйте для него следующие возможности:
Редактировать книгу
Печать всех книг
Поиск книг по автору
Поиск книги по названию
Сортировка массива по названию книг
Сортировка массива по автору
Сортировка массива по издательству
Как обычный char массив заполнить случайными символами я знаю, но как это сделать со структурами не понимаю.
Вот попытка, выдаёт ошибку: cannot convert from 'int' to 'char **'
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct Library {
    char** name;
    char** author; 
    char** publish_house;
    char** genre;
};
 
void filler(Library**st, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0;j < n;j++) {
            st[i][j].name = rand() % 26 + 97;
            if (j == n - 1) st[i][j].name = '\0';
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2017, 20:51
Ответы с готовыми решениями:

Заполнение массива случайными символами с кодами в диапазоне от 21 до 254
Помогите на языке Си заполнить массив символов случайным образом символами с кодами в диапазоне от 21 до 254

Заполнение строки случайными символами на стадии препроцессора
Ситуация такова: есть string, и ее нужно заполнить рандомными символами на стадии препроцессора. Как быть?

Заполнение массива случайными числами
Здравствуйте. Необходимо заполнить два массива случайными числами. Проблема состоит в том, что массивы заполняются одинаковыми...

6
7 / 7 / 9
Регистрация: 20.11.2016
Сообщений: 120
09.03.2017, 20:57
Вас приветствует форум Cyberforum!!!

Нажмите CTRL-ALT-DELETE для перезагрузки.

можете не отвечать на это сообщение, оно послано автоматически!

Добавлено через 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
#include<iostream>
#include <cctype>
#include <ctime>
using namespace std;
 
int main() 
{
   srand(time(0)); 
   char arr[100];
    
    for(int i = 0; i < 100;)
    {
        char ch = rand() % 127;
        if (isalnum(ch))
        {
            arr[i] = ch;
            cout << arr[i];
            ++i;
        }
    }
    
    cin.get();
    return 0;
}


и такой
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
#include<iostream>
#include <cctype>
#include <ctime>
using namespace std;
 
int main() 
{
   srand(time(0)); 
   char arr[100];
    
    for(int i = 0; i < 100;)
    {
        char ch = rand() % 127;
        if (isalnum(ch))
        {
            arr[i] = ch;
            cout << arr[i];
            ++i;
        }
    }
    
    cin.get();
    return 0;
}


Вы можете заказать Свежую Пиццу у Модераторов!

Чтобы заказать ПИЦЦУ. отправьте короткое сообщение в ОТВЕТЫ.

Наберите 1 - если с грибами 2. с сыром. 3 - с мясом
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 9
09.03.2017, 21:11  [ТС]
art-evgeniy, возможно, я неясно объяснила суть проблемы. У меня есть структура, состоящая из названия книги, издания, автора и жанра:
C++
1
2
3
4
5
6
struct Library {
    char** name;
    char** author; 
    char** publish_house;
    char** genre;
};
Из этой структуры мне каждый массив необходимо заполнить случайными символами, но мне выдаёт ошибку
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.03.2017, 21:19
Во-первых, это не соответствует заданию. Где структура и массив?
0
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 9
09.03.2017, 21:42  [ТС]
nmcf,
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
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
 
//создание структуры "Книга"
struct Book {
    char *name; //название
    char *author; //автор
    char *publish_house; //издание
    char *genre; //жанр
};
 
//заполнение массива из десяти книг случайным образом
void fill (Book* a, int n) {
    for (int i=0; i<n; i++) {
        a[i].name=rand()%27+97;
        if (i==n-1) a[i].name='\0';
    }
}
 
//печать книг
void show (Book* a, int n) {
    for (int i=0; i<n; i++)
        puts (a[i].name);
}
 
int main() {
    srand (time (NULL));
    int n=10;
    Book* a=new Book [n];
    fill (a, n);
    show (a, n);
    system ("pause");
    delete [] a;
    return 0;
}
0
7 / 7 / 9
Регистрация: 20.11.2016
Сообщений: 120
09.03.2017, 21:57
Девушка, если судить по ошибке.

C++
1
Вот попытка, выдаёт ошибку: cannot convert from 'int' to 'char **'
То вы просто с Луны свалились
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
09.03.2017, 22:01
Lin_Kor, в таком виде тебе придётся память выделять под каждое поле. Лучше массивы char используй.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.03.2017, 22:01
Помогаю со студенческими работами здесь

Заполнение массива случайными значениями в С
Необходимо заполнить масив случайными значениями в диапазоне 1-9, причем они каждый раз должны быть другими, только random(9) заполняет...

Заполнение массива случайными числами
Здравствуйте, подскажите как заполнить char массив числами целыми с помощью rand () через пробел ?

Заполнение массива случайными числами
Доброго времени суток. Перейду сразу к сути: Надо построить массив из 5000 целых случайных чисел и отсортировать его сортировкой Шелла, ...

Заполнение массива случайными числами
Подскажите пожалуйста, как заполнить массив случайными числами в div-C++? Программа выдает ошибку=( #include &lt;cstdlib&gt; ...

Заполнение массива случайными числами
Извините за наиглупейший вопрос, но я забыл как задавать диапазон случайных чисел при заполнеии массива:wall:. Будьте добры, освежите мне...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru