Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.05.2009, 21:52   #11
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
не до конца понял про структуры
А что именно?
Вот есть у вас этот массив структур. И обращение к элементу будет таким:
Код:
mas[i].bukva = 'A';
mas[i].chislo = 45;
Цитата:
И еще, последний вопрос. как я могу отсортировать таблицу StringGrid1.
если в 1ой строке у меня буквы, во 2ой строке у меня цифры.
нужно чтобы сортировка была по 2ой строке.
И сортировать будет удобно именно структуры.
Проводите обычную сортировку по полю chislo, а обмениваете сами структуры с нужными индексами.

Можно, конечно, сортировать прямо в гриде, но имхо это неудобно. Лучше сначала в массив перегнать.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 23.05.2009, 23:39   #12
Kycaka
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 63
По умолчанию

Спасибо, сейчас попробую)

Последний раз редактировалось Kycaka; 24.05.2009 в 11:33.
Kycaka вне форума
Старый 24.05.2009, 13:22   #13
Kycaka
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 63
По умолчанию

Омг, спасибо огромное! Действительно намного удобнее через струкрурные массив! Спс.!)
Kycaka вне форума
Старый 25.05.2009, 09:47   #14
Kycaka
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 63
По умолчанию

Добрый день!) Не могли бы подсказать.
при делении не выводится дробный ответ.

Код:
Цитата:
struct struktmassiv
{
char bukva;
int chislo;
double chisl;
};
struktmassiv mas[32];

int i=0;
while ((unsigned)i<strlen(alfavit))
{
mas[i].chisl = 3/669; //101 строка
StringGrid1->Cells[i][2] = mas[i].chisl;
i=i+1;
}
Получается вот что, одни нули.

Пробовал умножать, вычитать все правильно работает, но когда делю получаются нули. (ну если делю 6/2 и т.п. то норм, т.е. дробные ответы не выводятся) Вроде с типами ничего не напутал, т.к. в структуре массива укозал тип переменной chisl double.

А вот если я просто заменяю 101 строку.
Цитата:
mas[i].chisl = 0.0234;


В чем может быть проблема?
Kycaka вне форума
Старый 25.05.2009, 11:20   #15
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Это из-за приведения типов.
Пишите вот так:
Код:
mas[i].chisl = (double)3/669;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Старый 25.05.2009, 11:35   #16
Kycaka
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 63
По умолчанию

а как понизить точность, а то мне выводит уж больно точные цифры)

Пример: 0.067264573
Kycaka вне форума
Старый 25.05.2009, 11:40   #17
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Kycaka
а как понизить точность, а то мне выводит уж больно точные цифры)
При преобразовании числа в строку (когда пишете в грид) используйте функцию FormatToStrF. О ней смотрите тут:
http://delphibasics.ru/FloatToStrF.php
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 25.05.2009 в 12:13. Причина: опечатка
Sazary вне форума
Старый 25.05.2009, 12:00   #18
Kycaka
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 63
По умолчанию

спасибо огромное!!))
Kycaka вне форума
Старый 25.05.2009, 21:26   #19
Kycaka
Пользователь
 
Регистрация: 13.05.2009
Сообщений: 63
По умолчанию

Добрый вечер. Заступорелась немного работа моя. Не могли бы опять подсказать.)

Цитата:
int abcd=32;
char massivek[abcd];
Почему нельзя так задавать массивы? У меня длинна массива будет изменяться в зависимости от длины текста.

И как можно поместить в массив посимвольно текст из файла. (и есть ли ограничение по размернасти на массив, к примеру могу я создать массив[2000] и использывать из них тольо 300?)

Я написал функцию которая вытаскивает из файла в Тмемо тектс, потом берет из Тмемо по линиям строки, перегоняет строку в массив, и от туда посимвольно перегонет в еще один моссив, в котором уже все буквы всех строк.

Цитата:
int i=0;
int d=0;
int f=0;
char ALL_text[700]; /кокрас тут мне и нужно укозать размер массива в зависимости от длины всего текста.
// char ALL_text[dlina_texta]; если я делаю так то ошибка.

while(i<strok_vsego)
{
AnsiString odna = Crypto->Lines->Strings[i];
char *odna_char = odna.c_str();
while ((unsigned)d<strlen(odna_char))
{
ALL_text[f] = odna_char[d];
d++;
f++;
}
d=0;
i++;
}
При выводи в таблицу все буквы выводяться нормально. Но вот длина отличается от 100% правильно посчитанной длинны. Незнаю почему. Иногда встречаются пробелы.

Добавлено:
Так же заметил, что если просто нажимать на кнопку вывода (вывод этого массива и его длины) МЫШКОЙ и ИНТЕРОМ по очереди, длина меняется. К примеру мышкой нажимаю получается 36, а интером, по выделенной кнопке, получается 41.

Надеюсь я не на флудил особо)) Буду ждать ответа.

Заранее, спасибо за ответ!

Последний раз редактировалось Kycaka; 25.05.2009 в 21:46.
Kycaka вне форума
Старый 25.05.2009, 22:13   #20
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Давайте по порядку.
Цитата:
У меня длинна массива будет изменяться в зависимости от длины текста.
Тогда создавайте массив динамически.
Код:
int abcd;
char *massivek;

abcd = 32;
massivek = new char[abcd];

// тут всякие операции над массивом
delete[] massivek; // освобождаем память
Цитата:
Я написал функцию которая вытаскивает из файла в Тмемо тектс, потом берет из Тмемо по линиям строки, перегоняет строку в массив, и от туда посимвольно перегонет в еще один моссив, в котором уже все буквы всех строк.
Эм... А что вы хотите сделать?
Цитата:
При выводи в таблицу все буквы выводяться нормально. Но вот длина отличается от 100% правильно посчитанной длинны. Незнаю почему. Иногда встречаются пробелы.
Не очень понял, что за длина отличается.

В общем, лучше скажите, что вы хотите сделать )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод двумерного массива Kocapb Общие вопросы C/C++ 4 11.10.2012 11:05
Как данные с массива передавать на тренд и таблицу? KuevProger Помощь студентам 1 20.03.2009 11:47
Вывод массива из функции LeoN PHP 2 13.11.2008 13:57
Вывод на печать StringGrid таблицу Македонский Общие вопросы Delphi 3 06.11.2007 01:21