Diskriptor
|
|
« : 25-11-2006 21:25 » |
|
Здравствуйте, пожалуйста, помогите разобраться с это программой . #include <stdio.h> #include <stdlib.h> #include <conio.h> #define rnd(rand()\32768.0)//rand-генератор случайный число от 1 до
int, rnd-от 0 до 1 void main(void) { int i,j,n,m,a[50][50]; puts("\n Input n,m;"); scanf("%d%d",&n,&m); printf("\n Array a\n"); for(i=0;i<n;i++) for(j=0;j<m;j++) { a[i][i]=rnd*10-5;//диапазон от-5 до 5 printf("%d%c",a[i][j],(j==m-1)?'\n':' '); } getch(); }
Info :Making... Info :Compiling C:\CPP.EXE\Агоритмы\генератор.cpp Error: генератор.cpp(5,2):Declaration terminated incorrectly Fatal: Access violation occurred at 0x02C916DB: Attempt to access 0x000000EE Fatal: генератор.cpp(5,15):Unknown error
Расскажу о своих шагах в программировании я поступил как советовал Finch и начел применят свои знания на практике Hello World, уже написал много маленьких программ конечно они простенькие и почти все взяты из книг, но вода камен точит. Мы с родствинека организовали кружок, по программированию многие говорили что будут, ходит, с начало пришло человек десять - двенадцать, потом из этого числа стал ходить только один человек, но потом бросил и он. Я удивился, но родствинек сказа, что когда аналогичный кружок был открыт в Харикове, то было точно также, только там пришло двадцать человек из них осталось только двоя. Так точно тут пришло 10-12 человек, а остался я один, тапер я понял, почему у программистов высокая зарплата и какой это тяжкий труд быт программистом. Я читаю В.М. Макогон язык программирования С для начинающих и Б.Кереган, Д.Ричи Язык программирования Си. P.S. программирую на Borland C++ 5.2
|
|
« Последнее редактирование: 07-12-2007 20:03 от Алексей1153++ »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #1 : 26-11-2006 10:46 » |
|
Diskriptor, заключай код в теги [ code ] ... [ /code ]
|
|
|
Записан
|
|
|
|
Serg79
|
|
« Ответ #2 : 27-11-2006 07:36 » |
|
Чего сдесь не понятно. Как цикл крутиться или почему прога не компилиться. Цикл крутиться m * n раз. Если ты ее компилишь так как у тебя в примере показанно, так она такая и не должна компилироваться.
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #3 : 27-11-2006 09:31 » |
|
коментарий со строки 4 выскочил на строку 5. нужно поправить
|
|
|
Записан
|
Странно всё это....
|
|
|
Serg79
|
|
« Ответ #4 : 27-11-2006 10:07 » |
|
#define rnd(rand()\32768.0)//rand-генератор случайный число от 1 до ------------------^ Вот это у тебя что за знак , деление вроде бы не так пишиться а так '/'. Еще в define после rnd надо как минимум один пробел.
|
|
« Последнее редактирование: 07-12-2007 20:03 от Алексей1153++ »
|
Записан
|
|
|
|
Diskriptor
|
|
« Ответ #5 : 29-11-2006 14:26 » |
|
Алексей1153, Спасибо, за подсказку я, опустил int, rnd-от 0 до 1 в область функции void main(void)
void main(void) { int, rnd-от 0 до 1…….. ……. …… } и все получилось. LogRus спасибо за подсказку с комментарием.
|
|
« Последнее редактирование: 29-11-2006 14:33 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #6 : 29-11-2006 14:38 » |
|
Serg79, Извините опечатался я имел в виду от 0 до 32768.0
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #7 : 03-12-2006 22:48 » |
|
Обращаюсь ко всем пожалуйста подскажете, можно поменять две переменные местами пользователь водит с клавиатуры два значения например: 10,20 Enter20,10 но при этом не водить промежуточной переменой, не изменять тип данных переменных с int не используя указатели. Не пишете алгоритм выполнения, а только скажите возможно это или нет . Если да то буду думать как это заделать. Скажите что прочитать, из ЯЗЫК Си Б.В. Керниган, Д.М. Ричи. Чтобы понять как это заделать.
|
|
« Последнее редактирование: 03-12-2006 22:54 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Serg79
|
|
« Ответ #8 : 04-12-2006 04:42 » |
|
ДА
|
|
|
Записан
|
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #9 : 04-12-2006 08:44 » |
|
Да можно и несколькими способами. В книжках по С/С++ читать ничего не нужно. Это математические особенности чисел.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Diskriptor
|
|
« Ответ #10 : 04-12-2006 21:52 » |
|
Serg79, Я понимаю тебя, но мои знания в математики пока очень ограничены, тапер я понял значение слов, что знать язык программирования и умет программировать на этом языке это две разные вещи. Знания языка программирования без знаний как выполнить тот или иной алгоритм, это как комп. без венды. Берсу за учебники по математики и геометрии.
|
|
« Последнее редактирование: 04-12-2006 21:56 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #11 : 04-12-2006 22:01 » |
|
Да можно и несколькими способами. В книжках по С/С++ читать ничего не нужно.Это математические особенности чисел. Пожалуйста скинете ссылку, где можно прочитать про математические особенности чисел.
|
|
« Последнее редактирование: 04-12-2006 22:06 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #12 : 05-12-2006 08:56 » |
|
Вот решение твоей задачи. Попробуй разобраться, как это работает. #include "stdio.h" int main() { int a=3; int b=5; printf("Before A= %d; B = %d \n", a, b); a=a^b; b=a^b; a=a^b; printf("After A= %d; B = %d \n", a, b); return 0; }
Знак ^ это логическая функция "исключаяшая ИЛИ" (XOR). Это один из способов. На основе его попробуй найти еше хотя бы один способ.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Diskriptor
|
|
« Ответ #13 : 05-12-2006 21:54 » |
|
Finch, Я, конечно, тебе благодарен за программу, но хотелось бы прочитать о математические особенности чисел. Огромное спасибо буду искать еще способы, я что-то такое предполагал, Знак ^ это логическая функция "исключаяшая ИЛИ" (XOR). но я еще не знаком с этой логической функцией я пока не знаю, и как оно применяема, почитаю про ^ пойму как программа работает. Но уже понятно что ^b эта логическая функция заменяет промежуточную переменную. Более подробные и коректные комментарии дам когда прочитаю про Знак ^ это логическая функция "исключаяшая ИЛИ" (XOR).
|
|
« Последнее редактирование: 05-12-2006 22:30 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #14 : 08-12-2006 23:03 » |
|
Finch, В книжки по С для начинающих почему то об этой побитовом операции не дано пояснений. Когда я прочитал об этом побитовой операции в Б.В. Керниган, Д.М. Ричи. В каждом разряде установит 1, если соответствующий разряд операндов имеет различные значения, и 0, когда они совпадают. Мне стало понятно, как эта побитовая операция работает, я нашел еще один способ, если убрать ^(XOR) и заминит на +,- то принцип работы программы изменница, а результат останца прежним. Большинство моих знакомых сначала не поняли, как эта операция работает кроме родствиника, я сначала переводил значение переменой в двоичный код, но потом я понял что ^(XOR) воспринимает переменную как один бит.
|
|
« Последнее редактирование: 15-12-2006 22:12 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #15 : 08-12-2006 23:58 » |
|
Пожалуйста скинете ссылку где можно скачать справочник по паскалю а то родствиник задал перевести одну программу с паскаля на С а я в паскале ничего не понимаю, он говорить что эта программа не идет на паскали, кроме какого-то режима на делфи. И мне надо перевести ее на С.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
|
|
« Ответ #16 : 09-12-2006 04:54 » |
|
С паскаля в Си переводить очень легко. Основные команды те же самые, симантика только различается. Ну и различен ненамного принцип построения программ.
|
|
|
Записан
|
Не будите спашяго дракона. Джаффар (Коша)
|
|
|
Diskriptor
|
|
« Ответ #17 : 10-12-2006 19:43 » |
|
Finch,Хорошо попробую без справочника переложить.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #18 : 31-01-2007 00:39 » |
|
Здравствуйте пожалуйста помоги разабраця с программой Задание из Б.Кериган ,Д.Ритчи язык программирования Си. 1.8 Напишите программу для подсчета пробелов, табуляций и новых- строк. Дело в том, что задача пустяк, но мало опыта : С начала я попробовал так, потому что задание всегда привязано к изложенному материалу : Листинг 1 #include "stdio.h" main() { int x,y,z,c; x=0;y=0;z=0; while((c=getchar()) !=EOF) if(c=='\ ') ++x; if(c=='\t') ++y; if(c=='\n') ++z; printf("%d,%d,%d",x,y,z); }
С читает только пробелы, потом вот так: #include "stdio.h" main() { int x,y,z,c,q,w,e; x=0;y=0;z=0;q=0;w=0;e=0; while((c=getchar()) !=EOF) if(c=='\ ') ++x; else ++q; if(c=='\t') ++y; else ++w; if(c=='\n') ++z; else ++e; printf("%d,%d,%d",x,y,z); }
Все ровно считает только пробелы. Р.S кампилю на Borland C++ v.5.2
|
|
« Последнее редактирование: 07-12-2007 20:04 от Алексей1153++ »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
McZim
|
|
« Ответ #19 : 31-01-2007 03:18 » |
|
Блин, ребята, вы меня извините, но парень реально отжигает Я конечно понимаю что есть язык падонкаф, но ваши ошибки и стиль построения предложений просто убивает...Мне действительно было сложно читать ваши вопросы...
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #20 : 31-01-2007 07:48 » |
|
McZim, поддерживаю: нужно было все в одну строчку записать! Diskriptor, где ты такое прочел?
|
|
« Последнее редактирование: 07-12-2007 20:05 от Алексей1153++ »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Diskriptor
|
|
« Ответ #21 : 31-01-2007 21:54 » |
|
RXL, Нигде сам додумался, прошу меня извинить, но мало опыта. Что касается остального промолчу. Но я хочу научиться программировать и я этого добьюсь. RXL , спасибо за помощь
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
McZim
|
|
« Ответ #22 : 01-02-2007 03:01 » |
|
поверь, тебя никто отговаривать не станет
|
|
|
Записан
|
The CBO without stats is like a morning without coffee. (c) T.Kyte.
|
|
|
Антон (LogRus)
|
|
« Ответ #23 : 01-02-2007 06:25 » |
|
Diskriptor, начни Липпмана Стенли, а не с Кернигана и Ричи Это будет полезней, читать отцов основателей, не прочтя чего по проще идея не очень, темболее, что насколько я помню они больше по C на не C++, если не ошибаюсь а изучать сначала C, а затем C++ идея не очень. ИМХО конечно что касается твоего кода, то ошибка тривиальна обычно такие ошибки сложней всего искать вот поправленная версия #include "stdio.h" main() { int x,y,z,c; x=0;y=0;z=0; while((c=getchar()) !=EOF) { if(c==' ') ++x; if(c=='\t') ++y; if(c=='\n') ++z; } printf("%d,%d,%d",x,y,z); }
обрати внимание на форматирование в цели форматирования в ходят не только удобочитаемость, но и защита программиста от ошибоко подобных той, что ты допустил.
|
|
« Последнее редактирование: 07-12-2007 20:06 от Алексей1153++ »
|
Записан
|
Странно всё это....
|
|
|
Diskriptor
|
|
« Ответ #24 : 01-02-2007 22:41 » |
|
LogRus, Спасибо за код и за разъяснения, начни Липпмана Стенли, а не с Кернигана и Ричи скачаю и прочитаю.
|
|
« Последнее редактирование: 01-02-2007 22:44 от Diskriptor »
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #25 : 07-02-2007 23:25 » |
|
ГромПересмотрел сообщения Дискриптора, нигде не видно, чтобы он прочел то, что ему говорили, никакой активности. Движение есть - прогресса нет(ДМБ) Я лишь высказал свое субъективное мнение и не кого ни хочу провоцировать. Согласен, захожу на форум редко, что касаеця прочитанных книг то проблема в том, что я скачал все книги которые мне рекомендовали но читать и рать, но у меня быстро начинают балет глаза от чтения электронных книг, я живу в миленком городке у нас таких книг не найти, а если под заказ то приходила переплачивать 50%-70% процентов, а я студент стипендия маленькая, я пока ограничен только 3 книгами: 1.Язык программирования Си- Б.Кериган, Д.Ричи 2.Освой самостоятельно С++ за 21день-Джесс Либерти, Брэдли Джонс 3. Си для начинающих –В.С. Макагон Си для начинающих –В.С. Макагон, я уже прочитал, ну а теперь читаю, Язык программирования Си- Б.Кериган, Д.Ричи. Побольше открытых сердец, на много легче жить стало.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Diskriptor
|
|
« Ответ #26 : 07-02-2007 23:34 » |
|
LogRus, Прочитал первые 20 стп. книги которую ты порекомендовал, очень понравелас надо будет приобрести печатней вариант, ОГРОМНОЕ СПАСИБО.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Антон (LogRus)
|
|
« Ответ #27 : 08-02-2007 06:48 » |
|
Diskriptor, зря ты читает Си, если тебе нужен C++ не та это литература с которой стоит начинать изучение C++ можешь восприятие C++ попортить. У нас работал один маньяк он периодически стандарт C++ перечитывал кстати занимательное чтиво
|
|
|
Записан
|
Странно всё это....
|
|
|
Diskriptor
|
|
« Ответ #28 : 12-02-2007 16:48 » |
|
LogRus, Но я только основные операторы и функции Си учу и не лезу программировать на нижний регистр Си, или все рамно может повредит? Хотя я и сам заметил что мышление на Си и С++ отличаеця, хотя до конца этого не понимаю но сердцем чую.
|
|
|
Записан
|
Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
|
|
|
Антон (LogRus)
|
|
« Ответ #29 : 12-02-2007 18:33 » |
|
Diskriptor, да ладно не заморачивайся. Просто бывает, что человек и стандарт знает и прикладные библиотечки, а программирует подлец на C, а не С++ уверенный в обратном. в общем читай Липмана(он тоже с основ начинает) и эккеля и много кого еще их(книг) надо сказать до чёртовой матери придётся их прочитать(если хочешь научится) или программируй в паре с гуру(второе должен заметить быстрее и эффективней) на себе проверено
|
|
|
Записан
|
Странно всё это....
|
|
|
|