2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 с++ Builder вопрос по массиву структур
Сообщение04.06.2013, 16:31 


26/11/11
134
вот создал массив структур
Код:
struct
{
     char name[10];
     float str1[10];
     float str2[10];
     float str3[10];
} Shop;

вот как обращаться к конкретным ячейкам не пойму
писал так
Код:
for(int i=1; i<11; i++)
{
sscanf(StringGrid1->Cells[2][i].c_str(), "%f", &str1[i]);  // присвоение значения ячеек к массиву
sscanf(StringGrid1->Cells[3][i].c_str(), "%f", &str2[i]);
}

ошибку выдаёт т.к str1 ему неизвестен и с другим также

 Профиль  
                  
 
 Re: с++ Builder вопрос по массиву структур
Сообщение04.06.2013, 16:54 
Заслуженный участник


04/05/09
4587
BAHOO в сообщении #732479 писал(а):
вот создал массив структур
Код:
struct
{
     char name[10];
     float str1[10];
     float str2[10];
     float str3[10];
} Shop;
Это не массив структур, а структура с массивами.

BAHOO в сообщении #732479 писал(а):
вот как обращаться к конкретным ячейкам не пойму
писал так
Код:
for(int i=1; i<11; i++)
{
sscanf(StringGrid1->Cells[2][i].c_str(), "%f", &str1[i]);  // присвоение значения ячеек к массиву
sscanf(StringGrid1->Cells[3][i].c_str(), "%f", &str2[i]);
}

ошибку выдаёт т.к str1 ему неизвестен и с другим также
Такой код работал бы в методе структуры Shop, где были бы автоматически определены члены-данные str1 и др.
А так - заведите переменную типа Shop и обращайтесь к её полям:
Используется синтаксис C++
Shop shop;
shop.str1[0] = 1;
 

 Профиль  
                  
 
 Re: с++ Builder вопрос по массиву структур
Сообщение04.06.2013, 17:32 


26/11/11
134
спс, разобрался

 Профиль  
                  
 
 Re: с++ Builder вопрос по массиву структур
Сообщение04.06.2013, 18:33 
Заслуженный участник


04/05/09
4587
Хорошо, хотя я в ответе ошибок наделал. :-)
Кстати, в C/C++ у массивов индексы начинаются с нуля. В вашем случае с 0 до 9.

 Профиль  
                  
 
 Re: с++ Builder вопрос по массиву структур
Сообщение05.06.2013, 10:23 


26/11/11
134
venco в сообщении #732532 писал(а):
Хорошо, хотя я в ответе ошибок наделал. :-)
Кстати, в C/C++ у массивов индексы начинаются с нуля. В вашем случае с 0 до 9.


это я знаю) мне первые значения не нужны)

 Профиль  
                  
 
 Re: с++ Builder вопрос по массиву структур
Сообщение05.06.2013, 14:02 
Заслуженный участник


04/05/09
4587
Проблема не в первых элеменетах, а в последних. Ваш цикл пишет по индексу 10, а его в массивах уже нет. Т.е. пишется в память за пределами массивов, и портятся соседние переменные.

 Профиль  
                  
 
 Re: с++ Builder вопрос по массиву структур
Сообщение07.06.2013, 08:23 


26/11/11
134
venco в сообщении #732965 писал(а):
Проблема не в первых элеменетах, а в последних. Ваш цикл пишет по индексу 10, а его в массивах уже нет. Т.е. пишется в память за пределами массивов, и портятся соседние переменные.

о) кстати, даже по началу и не заметил) но в этом уже разобрался, курсач сдал. Я там прост немног переделал чтоб с нуля, и просто еденицу прибавил. У меня прост в цикле этот момент был, где также с второго элемента, вот и понапутал)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group