Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
Модератор
7288 / 4769 / 1998
Регистрация: 21.01.2014
Сообщений: 20,237
Записей в блоге: 3
1

Как можно быстро присвоить каждому элементу структуры значение пустой строки

26.09.2014, 09:24. Показов 1379. Ответов 8
Метки нет (Все метки)

Всем доброе время суток!
Возник такой вот вопросик: есть структура
C++
1
struct TPeoples {String Num; String FIO; String Doc;...;} P;
из 30 с лишним элементов, все типа String.
Данные в структуру загружаются в цикле из текстового файла, каким-то образом обрабатываются, пишутся в StringGrid.
Вопрос в следующем: как можно быстро присвоить каждому элементу структуры значение пустой строки перед началом следующей итерации цикла?
Сейчас это делается так:
C++
1
2
3
P.Num = "";
P.FIO = "";
...
на мой взгляд все должно быть рациональнее...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.09.2014, 09:24
Ответы с готовыми решениями:

Получить последовательность, где каждому элементу присвоить максимальное значение строки матрицы
Помогите!! Дана матрица А получить последовательность в1...в8, где каждому элементу присвоить...

Каждому элементу массива присвоить значение соседнего с ним справа
Написать и отладить программу с применением подпрограммы процедуры с параметрами. Даны массивы...

Каждому минимальному элементу в столбце матрицы присвоить нулевое значение
модифицировать массив Mas следующим образом: каждому минимальному элементу в столбце присвоить...

Каждому четному элементу массива присвоить значение в 2 раза меньше него
Прошу помочь,написать программу, совсем не получается.... Условие, турбо паскаль: Дан массив А(30)....

8
90 / 90 / 22
Регистрация: 02.07.2013
Сообщений: 332
26.09.2014, 10:13 2
Если структура динамическая, то можно её уничтожить и создать заново. Либо создать не структуру, а класс, где реализовать соответствующий метод и в цикле проходить по массиву структур, вызывая метод.
0
Модератор
7288 / 4769 / 1998
Регистрация: 21.01.2014
Сообщений: 20,237
Записей в блоге: 3
26.09.2014, 10:16  [ТС] 3
Цитата Сообщение от c0rvax Посмотреть сообщение
Если структура динамическая
Нет, структура задана статически.
Цитата Сообщение от c0rvax Посмотреть сообщение
и в цикле проходить по массиву структур
не совсем понял, о каком массиве структур идет речь?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31243 / 20423 / 7960
Регистрация: 22.10.2011
Сообщений: 35,452
Записей в блоге: 6
26.09.2014, 11:15 4
Лучший ответ Сообщение было отмечено D1973 как решение

Решение

Зачем класс?
C++
1
2
3
4
5
6
7
8
9
10
struct TPeoples
{
    String Num;
    String FIO;
    String Doc;
    void Clear()
    {
        Num = FIO = Doc = "";
    }
} P;
, и вызывай P.Clear(); при необходимости...
1
4033 / 2323 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
26.09.2014, 19:01 5
Концепт-арт от злобного буратино:
C++
1
2
3
4
5
6
7
8
9
struct t_st{
    String s1, s2, /*...*/ s228;
} st;
 
String * ptr( reinterpret_cast< String * >( &st ) );
for( int off( 0 ), limit( sizeof( t_st ) / sizeof( String ) ); off < limit; ++off )
{
    * ( ptr + off ) = "";
}
1
Модератор
7288 / 4769 / 1998
Регистрация: 21.01.2014
Сообщений: 20,237
Записей в блоге: 3
26.09.2014, 19:33  [ТС] 6
BRcr, жестко, попытаюсь понять "буратинью злобу"
0
volvo
26.09.2014, 21:09
  #7

Не по теме:

На что же только не приходится идти в Плюсах :) Смотрите, и завидуйте, как это реализуется на моем любимом языке программирования:

Код
   type TPeoples is record
      Name : Unbounded_String;
      FIO : Unbounded_String;
      Doc : Unbounded_String;
      -- ...
   end record;
   P : TPeoples;
   
-- ...

   P := (others => To_Unbounded_String(""));  -- и все строки сразу становятся пустыми

0
Модератор
7288 / 4769 / 1998
Регистрация: 21.01.2014
Сообщений: 20,237
Записей в блоге: 3
26.09.2014, 22:21  [ТС] 8

Не по теме:

UI, а что за язык, не пойму.
Сперва показалось Delphi - ан нет, не то



Добавлено через 7 минут

Не по теме:

Неужто Ada?

0
volvo
26.09.2014, 22:27     Как можно быстро присвоить каждому элементу структуры значение пустой строки
  #9

Не по теме:

Ада, Ада... Кстати, совсем не обязательно это должны быть пустые строки, и вообще не обязательно, чтобы это были строки, это могут быть поля абсолютно любых типов:

Код
   type TPeoples is record  -- Задаем дефолтные значения для этого типа
      ID : Integer := 1;
      Name : Unbounded_String := To_Unbounded_String("Enter name");
      FIO : Unbounded_String := To_Unbounded_String("Enter FIO");
      Doc : Unbounded_String := To_Unbounded_String("");
      -- ...
   end record;
   P : TPeoples;

-- ... 
   
   P := (others => <>); -- Тут структура будет заполнена заданными дефолтными значениями
Вот как-то так...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2014, 22:27

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Каждому элементу исходной матрицы а(i,j) присвоить значение минимального элемента среди элементов подматрицы А'(i,j)
Каждому элементу исходной матрицы а(i,j) присвоить значение минимального элемента среди элементов...

Каждому элементу массива Q присвоить значение, равное сумме значений соответствующих элементов одномерных массивов P и H
Каждому элементу одномерного массива Q присвоить значение, равное сумме значений соответствующих...

Присвоить значение переменной элементу структуры
Нужно значение переменной присвоить элементу структуры. Вот так не работает: printf(&quot;\nВведите...

Как в ComboBox каждому элементу присвоить собственный шрифт?
Как в ComboBox каждому элементу присвоить собственный шрифт (как в Ворде)? Уже гуглить пробовал и...


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

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

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