Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
9 / 9 / 1
Регистрация: 25.10.2009
Сообщений: 152
1

Как вручную создать массив, тип которого является структурой

27.04.2010, 20:38. Показов 1614. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
подскажите пожалуйста, как вручную создать массив (ну т.е. не заполнять его через цикл) тип которого является структурой

C
1
2
3
4
 strukt word_num
{ char word [30];
 int num;
};
вот мне нужно чтоб в одной ячейке этого массива находилось : "сто" и 100....
вот пыталась так, но компилятор ругается как только может....

C
1
2
3
4
5
6
    word_num* table[ 100 ] 
{
table[0].word="nol", table[0].num=0,
table[1].word="odin", table[1].num=1,
....// и т.д.
    };
заранее спасибо=)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2010, 20:38
Ответы с готовыми решениями:

Как сравнить некоторый объект вектора тип данных которого является структурой ?
Сама структура struct coordinate { int h; int w; }; Вектор этой структуры vector...

Описать тип указатель, базовым типом которого является массив
Описать тип указатель, базовым типом которого является массив с максимальной размерностью 50...

[Ada] Создать динамический массив, тип которого опеределяется, как "Запись с динамическим массивом"
Я программирую на языке ada. Передо мной возникла задача создать динамический массива тип которого ...

Массив: Поменять местами столбец, произведение элементов которого является наименьшим, со столбцом, сумма элементов которого является наибольшей
Дана матрица вещественных чисел. Поменять местами столбец, произведение элементов которого является...

5
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
27.04.2010, 21:45 2
C++
1
2
3
strcpy(table[0].word, "nol");  table[0].num=0;
strcpy(table[1].word, "odin"); table[1].num=1;
....// и т.д.
0
190 / 150 / 61
Регистрация: 08.04.2010
Сообщений: 1,020
28.04.2010, 08:16 3
Серовно не заработает небходимо выделить память
C++
1
word_num *table[ 100 ]=new word_num;
0
3 / 1 / 2
Регистрация: 21.01.2011
Сообщений: 37
15.05.2011, 20:04 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Подскажите пожалуйсто, что не так. VStudio C++ 2008 пишет: 'strcpy'- Эта функция или переменная может быть небезопасна..
Вот код:

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
#include <conio.h>
#include <iostream>
  #include <string.h>
#include <clocale>
 
using namespace std;
 
struct NOK
{
    char modl[20];
    char dspl[20];
    int grn;
};
  
  
int main()
{
   setlocale(LC_CTYPE,"Russian");
  
  NOK nok;
    strcpy(nok.modl,"Nokia 5320xm");
    strcpy(nok.dspl,"240x320");
  nok.grn=1000;
  cout<<"Мобильный телефон:\t";
  cout<<modl<<"\n";
  cout<<"Дисплей:\t";
  cout<<dspl<<"\n";
  cout<<"Цена:\t";
  cout<<grn<<"грн\n";
 
   _getch();
   return 0;
}
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,116
Записей в блоге: 2
16.05.2011, 12:37 5
Цитата Сообщение от Prol s Посмотреть сообщение
VStudio C++ 2008 пишет: 'strcpy'- Эта функция или переменная может быть небезопасна..
Можешь не обращать внимание, MS просто хочет заставить программистов отказаться от стандартных функций и пользоваться функциями из разработки, чтоб код был вообще непереносимый, даже на другой компилятор внутри одной ОС.
0
3 / 1 / 2
Регистрация: 21.01.2011
Сообщений: 37
16.05.2011, 23:45 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Проблема в том что после этого сообщения, КОД даже НЕ КОМПИЛИРУЕТСЯ.
А вот кстати, с этим кодом всё нормально, даже предупреждений нет,почему?:

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
#include <conio.h>
#include <iostream>
  // #include <string.h>
#include <clocale>
 
using namespace std;
 
  // Объявление структуры.
  struct SKD
  {
      char iName[20];
      char fName[20];
      int dt;
  };
 
int main()
{
   setlocale(LC_CTYPE,"Russian");
  
   SKD skd;
   strcpy(skd.iName,"Аандрей");
   strcpy(skd.fName,"Андреев");
   skd.dt=50;
   cout<<"Профессор: \t\n";
   cout<<skd.iName<<"\t";
   cout<<skd.fName<<"\t";
   cout<<skd.dt<<" лет.\t";
 
   _getch();
   return 0;
}
Добавлено через 9 часов 47 минут
Всё разобрался, оказалось всё просто...
0
16.05.2011, 23:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2011, 23:45
Помогаю со студенческими работами здесь

Как создать отчет, источником которого является Перекрестный запрос?
добрый день. у меня сложилась такая проблема. Точнее две. первое. в общем создаю табличный...

На плоскости заданы своими координатами n точек. Создать массив размером n(n-1), элементами которого является расстояние от каждой из точек до n-1 др.
Помогите пожалуйста решить! Пожалуйста! На плоскости заданы своими координатами n точек. Создать...

Создать массив, элементами которого является 0, если элемент матрицы делится на 5, и 7, если не делится на 5.
Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Создать новый...

Создать массив записей в соответствии с заданной структурой
Помогите найти ошибку в программe (Создать массив записей в соответствии с заданной структурой....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru