Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Простейшая программа двумерный массив. |
Автор: a11en 24.1.2007, 20:28 | ||
Вообщем прорамма должна создавать матрицу 5*5 записывать в элемент сумму значения его строки и столбца, т.е. A[0][1]=1, A[3][3]=6 и тд., и считать сумму элементов строки,
собственно проблема в том что выводит какую-то чушь. Програму пишу в VC++6.0 Ну что бы не было такого простого вопроса, объясните мне для чего используется, #define или ссылочку на это дайте. |
Автор: Sartorius 24.1.2007, 20:32 |
массив b не проинициализирован... чего же ты хочешь? |
Автор: a11en 24.1.2007, 20:47 |
Спасибо, так протупил, извените... |
Автор: Xenon 24.1.2007, 20:50 | ||
На всякий пожарный |
Автор: a11en 24.1.2007, 21:13 | ||
ну и код(!!!) на всякий пожарный, вот вполне рабочий.
Или я дурак(нас учили писать как можно лаконичнее) или у вас много лишнего(я не осуждаю,возможно для наглядности, а быть может я чего не знаю), про мой Define молчу ибо так нас массивы учили описывать а руки не доходят найти инф что это вообще такое 1. нафиг константу еще и интом объявлять? 2. Ну и гетч в VC++ не нужна.(ну ясно что не только в этой среде пишут) 3. Зачем делать int main() и return 0, если можно просто void main(). 4. Зачем фигурные скобки для 1-го действия. |
Автор: zkv 24.1.2007, 21:24 |
а есть альтернативы? те вы знаете способ объявить константу без указания типа? вообще то программу пишут для получения ехе файла (упрощенно), а в нем уже никаких задержек не будет перед выходом int - хороший тон, а ретурн все равно подставят, хотите вы или нет ![]() не обязательно, но и на скорость никак не повлияют а вообще код в первую очередь должен быть понятен, от того что вы экономите место при написании программа ни лучше ни хуже не становится, а читать ваш код ну очень неудобно, поверьте. #define SZ 5 - директива компилятору везде где он встретит SZ воспринимать ее как число 5 |
Автор: JackYF 24.1.2007, 21:24 |
1. А константа - она тоже тип имеет. И может иметь далеко не только интовый тип. Здесь, может, и не важно, а вот в более сложных программах... 3. Нельзя. Не по стандарту. По стандарту С++ объявления главной функции должно быть int main() (можно с параметрами, можно без). 4. Да. Можно и без них. Но с ними читабельней. Добавлено @ 21:26 ![]() ![]() |
Автор: Dov 24.1.2007, 21:35 | ||
Не правильно вас учили. Так нада экономить:
|
Автор: Sartorius 24.1.2007, 21:40 |
Dov, ![]() |
Автор: a11en 24.1.2007, 21:59 |
У коршуны;), спасибо за пояснения, буду благодарен если дадите ссылочку на то как писать стандартно и на то что влияет на скорость программы и про #define поподробнее не только же для этого используется и чем отличается если объявить то же SZ константой. Еще если не трудно поясните, что эти параметры делают int main(int argc, char* argv[]) 2Dov, оригинал слов нету, вот еврей он и есть еврей(естествено шутка, не в обиду) Добавлено @ 22:00 Я в этот форум влюблен, нигде больше не встречал таких отзывчивых людей! |
Автор: Sartorius 24.1.2007, 22:17 |
Вот статейка по оформлению http://www.codenet.ru/progr/cpp/C-Style.php На http://www.rsdn.ru/ советую философию программирования посмотреть. Из книжек - Страуструп и Скот Майерс. Прочитай что найдешь - не пожалеешь. Люди действительно не просто стандарт описывают, а показывают как надо код писать. |
Автор: a11en 24.1.2007, 22:29 |
KpoHyc, ничего не понял наверное надо подробнее читать! |
Автор: KpoHyc 24.1.2007, 23:37 | ||
|
Автор: Xenon 24.1.2007, 23:54 |
a11en, нагнал на меня тут ![]() Ну я просто пишу почти по всем канонам правильности ![]() Это дело каждого. Я делаю так. Думаю, читать код в таком стиле не противно Добавлено @ 00:06 KpoHyc, это стандартом считается. Потому что в linux`e, например, нормальным завершением программы считается завершение, при котором возвращается 0. Ну, и по дефолту это int |
Автор: V.A.KeRneL 25.1.2007, 05:25 |
Привет, a11en! ![]() Насчёт argc и argv можешь почитать на этом же форуме: 1) http://forum.vingrad.ru/topic-128494.html[http://forum.vingrad.ru/topic-128494.html]http://forum.vingrad.ru/topic-128494.html 2) http://forum.vingrad.ru/topic-130471/0.html 3) http://forum.vingrad.ru/topic-131796/unread-1/0.html[http://forum.vingrad.ru/topic-131796/unread-1/0.html]http://forum.vingrad.ru/topic-131796/unread-1/0.html А насчёт coding style, то лучшим_стандартным_на_мой_взгляд_несомненно_является (((http://www.google.com/search?hl=en&q=GNU+programming+style&btnG=Google+Search))). Советую просмотреть все ссылки, по крайней мере, с 1-ой страницы, хотя бы кусочки кодов. З.Ы. Учись пользоваться поиском. Удачи! ![]() |
Автор: a11en 25.1.2007, 09:23 |
Xenon, я поэтому и спросил, чтобы понять зачем все это, мне лично циклы удобнее смотреть в том виде в котором я их написал, теперь буду писать подробне))) и еще раз говорю нас сначала учили писать через int main(), а тут пришли к другому преподу она нам говорит вы дебилы надо подругому писать... ну хотя она и private в класах не пишет по-моему потом совсем запутаешься где какие данные, считаю что писать его надо... V.A.KeRneL, я умею пользоваться поиком, просто попросили 10 программ такого типа вчера написать не до поиска было, хотя на каждую прогу не больше 10 минут, а с этой которая в шапке час провозился, ну бывают заскоки. |
Автор: Shaggie 25.1.2007, 09:45 |
Учись писать понятный код! Это очень важно! С такими однострочниками в любой конторе тебя пошлют далеко и надолго, так как нормальный чел в одного большой проект не напишет -> народ пишет совместимые модули -> в любой момент любому товарищу может понадобиться взглянуть на твой код, проверить чего... Поверь, нет ничего хорошего, когда один чел неделю разбирает код другого. Рано или поздно товарищ уходит из конторы, на его место садится другой. Вот это подлянка ему достанется в наследство! |
Автор: Ustus 25.1.2007, 13:39 | ||
ISO/IEC 14882:1998 3.6.1 - Main function ![]() |
Автор: a11en 25.1.2007, 23:35 |
Shaggie, у меня мало практики, но вобще проги пишу аккуратно и понятно, просто для меня понятнее(как и для того кому я это писал), когда цикл, естественно если он не большой, в одну строку, но спасибо за совет. |
Автор: Rockie 26.1.2007, 01:49 | ||
a11en, эта задача может решаться за 1 проход и без использования дополнительного массива.
Добавлено @ 01:59 KpoHyc, это не Си. http://search.msdn.microsoft.com/search/default.aspx?__VIEWSTATE=&query=C4430&siteid=0&tab=0 |