Вопрос № 58772: Здравствуйте уважаемые эксперты.В данной программе нужно после каждых трех отрицательныйх элементов вставить ноль.Допустим мы вставляем 2 нуля,но количество элементов в массиве изменяется.Нужно ввести новую переменную,которая бы считала сколько нулей...Вопрос № 58779: Добрый всем день,
такой вопросик:
есть число типа double, есть кол-во цифр после запятой.
Необходимо преобразовать его в строку(char*) с точкой .
Что-то с _fcvt и _gcvt не выходит, может что-то неправильно делаю.
Уважением Костя...Вопрос № 58844: Уважаемые эксперты! Начисто забыл, как получить строковый параметр, передающийся в командной строке при запуске приложения.
Подскажите, pls! Желательно наглядным примером.
Заранее спасибо!...
Вопрос № 58.772
Здравствуйте уважаемые эксперты.В данной программе нужно после каждых трех отрицательныйх элементов вставить ноль.Допустим мы вставляем 2 нуля,но количество элементов в массиве изменяется.Нужно ввести новую переменную,которая бы считала сколько нулей мы вставили.Тоесть конечный вывод с[i] был равен числу элементов в массиве изночально+количество вставленных нулей.Как это сделать ??
Заранее благодарю за ответы
Приложение:
Отправлен: 13.10.2006, 12:30
Вопрос задал: Respect (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: ADSota
Здравствуйте, Respect!
Новый размер массива все-таки придеться вычислять, в противном случае нужно будет использовать 2 массива. Один из вариантов:
Приложение:
Ответ отправил: ADSota (статус: Специалист)
Ответ отправлен: 17.10.2006, 15:52
Вопрос № 58.779
Добрый всем день,
такой вопросик:
есть число типа double, есть кол-во цифр после запятой.
Необходимо преобразовать его в строку(char*) с точкой .
Что-то с _fcvt и _gcvt не выходит, может что-то неправильно делаю.
Уважением Костя
Отправлен: 13.10.2006, 14:14
Вопрос задал: Kos (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 2)
sign - признак наличия знака
decp - позиция десятичной точки
в tmps сплошное чистло со знаками после запятой, но без самой запятой
Но вообще конечно как и сказали лучше sprintf
--------- WinApi - жутко неудобные костыли, MFC и VCL - немногим полезнее, но ничего лучше еще не создано
Ответ отправил: Tek (статус: 1-ый класс)
Ответ отправлен: 13.10.2006, 14:29 Оценка за ответ: 4 Комментарий оценки: Спасибо, но наворочено , sprintf -то что надо!
Отвечает: dentist
Здравствуйте, Kos!
ну можно поступить так:
char str[60] = {0};
double var = 124.1254363732;
sprintf(str, "%3.10f", var); // 3 знака перед запятой и 10 после
MessageBox(0, str, "", 0);
--------- "Software is like sex, it's better then it's free" (c) Linus Torvalds
Ответ отправил: dentist (статус: 5-ый класс)
Ответ отправлен: 13.10.2006, 14:44 Оценка за ответ: 5 Комментарий оценки: То что надо!
Вопрос № 58.844
Уважаемые эксперты! Начисто забыл, как получить строковый параметр, передающийся в командной строке при запуске приложения.
Подскажите, pls! Желательно наглядным примером.
Заранее спасибо!
Приложение:
Отправлен: 13.10.2006, 23:52
Вопрос задал: =FeanaR= (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Vaga
Здравствуйте, =FeanaR=!
По традиции C++ передает два (иногда три) параметра в main, которые в большинстве программ называются argc и argv.
Параметр argc содержит количество аргументов командной строки, передаваемых в вашу программу.
Параметр argv представляет собой массив указателей на символьные строки, каждая из которых соответствует одному параметру командной строки.
С:> COPY SOURCE.DOC TARGET.DOC
В данном случае командная строка указывает команду (COPY) и два аргумента (имя файлов SOURCE. DOC и TARGET. DOC). Чтобы разрешить вашей программе доступ к командной строке, C++ передает два параметра в функцию main:
void main(int argc, char *argv[])
Первый параметр argc содержит количество элементов в массиве argv. Например, в случае предыдущей команды COPY параметр argc должен содержать значение 3 (он включает имя команды и два аргумента).
#include
void main(int argc, char *argv[])
{
cout << "Количество аргументов командной строки равно " << argc << endl;
}
За более подробным описанием советую обратить взор сюда: http://www.allk.ru/book/10/93.html
--------- Ошибка становится ошибкой, когда рождается как истина. Станислав Ежи Лец
Ответ отправил: Vaga (статус: 4-ый класс)
Ответ отправлен: 14.10.2006, 00:18
Отвечает: Sergey A. Wedensky
Здравствуйте, =FeanaR=!
Vaga абсолютно прав - в main передается количество аргументов к.с. и они сами, можно получить еще переменные окружения:
int main( int argc[ , char *argv[ ] [, char *envp[ ] ] ] );
Но это для DOS или консольного приложения.
Добавлю от себя: в WinAPI для этого существует функция
LPTSTR GetCommandLine(void);
Ответ отправил: Sergey A. Wedensky (статус: 5-ый класс)
Ответ отправлен: 16.10.2006, 10:02