Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1] 2 3 4 ... 8   Вниз
  Печать  
Автор Тема: ПОМОГИТЕ НАУЧИТЬСЯ 3  (Прочитано 203598 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« : 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++ » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 26-11-2006 10:46 » 

Diskriptor, заключай код в теги [ code ] ... [ /code ]
Записан

Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 27-11-2006 07:36 » 

Чего сдесь не понятно. Как цикл крутиться или почему прога не компилиться. Цикл крутиться m * n раз. Если ты ее компилишь так как у тебя в примере показанно, так она такая и не должна компилироваться.
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #3 : 27-11-2006 09:31 » 

коментарий со строки 4 выскочил на строку 5.
нужно поправить
Записан

Странно всё это....
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 27-11-2006 10:07 » 

Код:
#define rnd(rand()\32768.0)//rand-генератор случайный число от 1 до
------------------^
Вот это у тебя что за знак  Здесь была моя ладья... , деление вроде бы не так пишиться а так '/'. Еще в define после rnd надо как минимум один пробел.
« Последнее редактирование: 07-12-2007 20:03 от Алексей1153++ » Записан
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #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
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #6 : 29-11-2006 14:38 » 

Serg79, Извините опечатался я имел в виду от 0 до 32768.0
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #7 : 03-12-2006 22:48 » 

 Обращаюсь ко всем пожалуйста подскажете, можно поменять две переменные местами пользователь водит с клавиатуры два значения   например: 10,20 Enter20,10 но при этом не водить промежуточной переменой, не изменять тип данных переменных с int не используя указатели. Не пишете алгоритм выполнения, а только скажите возможно это или нет . Если да то буду думать как это заделать. Здесь была моя ладья... Скажите что прочитать, из ЯЗЫК Си Б.В. Керниган, Д.М. Ричи. Чтобы понять как это заделать.
« Последнее редактирование: 03-12-2006 22:54 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 04-12-2006 04:42 » 

ДА
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #9 : 04-12-2006 08:44 » 

Да можно и несколькими способами. В книжках по С/С++ читать ничего не нужно. Это математические особенности чисел.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #10 : 04-12-2006 21:52 » 

Serg79, Я понимаю тебя, но мои знания в математики пока очень ограничены,  Краснею тапер я понял значение слов, что знать язык программирования и умет программировать на этом языке это две разные вещи. Знания языка программирования без знаний как выполнить тот или иной алгоритм, это как комп. без венды. Берсу  за учебники по математики и геометрии. Улыбаюсь 
« Последнее редактирование: 04-12-2006 21:56 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #11 : 04-12-2006 22:01 » 

Да можно и несколькими способами. В книжках по С/С++ читать ничего не нужно.Это математические особенности чисел.
Пожалуйста  скинете ссылку, где можно прочитать  про математические особенности чисел.   
« Последнее редактирование: 04-12-2006 22:06 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Finch
Спокойный
Администратор

il
Offline 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
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #13 : 05-12-2006 21:54 » 

Finch, Я, конечно, тебе благодарен за программу, но хотелось бы прочитать о  математические особенности чисел.
Огромное спасибо буду искать еще способы, я что-то такое предполагал,
Знак ^ это логическая функция "исключаяшая  ИЛИ" (XOR).
         
но я еще не знаком с этой логической функцией я пока не знаю, и как оно применяема, почитаю про ^ пойму как программа работает.
Но уже понятно что ^b эта логическая функция заменяет промежуточную переменную. Более подробные и коректные комментарии дам когда прочитаю про
Знак ^ это логическая функция "исключаяшая  ИЛИ" (XOR).




« Последнее редактирование: 05-12-2006 22:30 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #14 : 08-12-2006 23:03 » 

Finch, В книжки по С для начинающих почему то об этой побитовом операции не дано пояснений. Когда я прочитал об этом побитовой операции в Б.В. Керниган,  Д.М. Ричи.
В каждом разряде установит 1, если соответствующий разряд операндов имеет различные значения, и 0, когда они совпадают. Мне стало понятно, как эта побитовая операция работает, я нашел еще один способ, если убрать ^(XOR) и заминит на +,- то принцип работы программы изменница, а результат останца прежним.
Большинство моих знакомых сначала не поняли, как эта операция работает кроме родствиника,  я сначала переводил значение переменой в двоичный код, но потом я понял что ^(XOR) воспринимает переменную как один бит.
             
« Последнее редактирование: 15-12-2006 22:12 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #15 : 08-12-2006 23:58 » 

Пожалуйста скинете ссылку где можно скачать справочник по паскалю а то родствиник задал  перевести одну программу с паскаля на С а я в паскале ничего не понимаю, он говорить что эта программа не идет на паскали, кроме какого-то  режима на делфи. И мне надо перевести ее на С. 
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #16 : 09-12-2006 04:54 » 

С паскаля в Си переводить очень легко. Основные команды те же самые, симантика только различается. Ну и различен ненамного принцип построения программ.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #17 : 10-12-2006 19:43 » 

Finch,Хорошо попробую без справочника переложить.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #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
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #19 : 31-01-2007 03:18 » 

Блин, ребята, вы меня извините, но парень реально отжигает Улыбаюсь Я конечно понимаю что есть язык падонкаф, но ваши ошибки и стиль построения предложений просто убивает...Мне действительно было сложно читать ваши вопросы...
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 31-01-2007 07:48 » 

McZim, поддерживаю: нужно было все в одну строчку записать!

Diskriptor, где ты такое прочел?
Код:
c=='\ '
« Последнее редактирование: 07-12-2007 20:05 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #21 : 31-01-2007 21:54 » 

RXL, Нигде  сам  додумался, прошу меня извинить, но мало опыта.
Что касается остального промолчу.
 Но я хочу научиться программировать и я этого добьюсь.
RXL , спасибо за помощь

Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #22 : 01-02-2007 03:01 » 

поверь, тебя никто отговаривать не станет Улыбаюсь
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #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
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #24 : 01-02-2007 22:41 » 

LogRus, Спасибо за код и за разъяснения,
Цитата
начни Липпмана Стенли, а не с Кернигана и Ричи
скачаю и прочитаю.
« Последнее редактирование: 01-02-2007 22:44 от Diskriptor » Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #25 : 07-02-2007 23:25 » 

Гром
Цитата
Пересмотрел сообщения Дискриптора, нигде не видно, чтобы он прочел то, что ему говорили, никакой активности.
Движение есть - прогресса нет(ДМБ)
Я лишь высказал свое субъективное  мнение и не кого ни хочу провоцировать. 
Согласен, захожу на форум редко, что касаеця  прочитанных книг то проблема в том, что я скачал все книги которые мне рекомендовали но читать и рать, но у меня быстро начинают балет глаза от чтения электронных книг, я живу в миленком городке у нас таких книг не найти, а если под заказ то приходила переплачивать 50%-70% процентов, а я студент стипендия маленькая, я пока ограничен только 3 книгами:
1.Язык программирования Си- Б.Кериган, Д.Ричи
2.Освой самостоятельно С++ за 21день-Джесс Либерти, Брэдли Джонс 
3. Си для начинающих –В.С. Макагон

Си для начинающих –В.С. Макагон, я уже прочитал, ну а теперь читаю, Язык программирования Си- Б.Кериган, Д.Ричи.
Побольше открытых сердец, на много легче жить  стало.  Улыбаюсь
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #26 : 07-02-2007 23:34 » 

LogRus, Прочитал первые 20 стп. книги которую ты порекомендовал, очень понравелас надо будет приобрести печатней вариант, ОГРОМНОЕ СПАСИБО.
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #27 : 08-02-2007 06:48 » 

Diskriptor, зря ты читает Си, если тебе нужен C++
не та это литература с которой стоит начинать изучение C++ можешь восприятие C++ попортить.

У нас работал один маньяк он периодически стандарт C++ перечитывал Улыбаюсь
кстати занимательное чтиво Улыбаюсь
Записан

Странно всё это....
Diskriptor
Опытный

ua
Offline Offline
Пол: Мужской

« Ответ #28 : 12-02-2007 16:48 » 

LogRus, Но я  только основные операторы и функции Си учу и не лезу программировать на нижний регистр Си, или все рамно может повредит?
Хотя я и сам заметил что мышление на Си и С++ отличаеця, хотя до конца этого не понимаю но сердцем чую.       
 
Записан

Единственный способ, научится программировать на каком либо языке программирования, это писать на этом языке программы.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #29 : 12-02-2007 18:33 » 

Diskriptor, да ладно не заморачивайся.
Просто бывает, что человек и стандарт знает и прикладные библиотечки, а программирует подлец на C, а не С++ уверенный в обратном. Улыбаюсь
в общем читай Липмана(он тоже с основ начинает)
и эккеля и много кого еще Улыбаюсь их(книг) надо сказать до чёртовой матери
придётся их прочитать(если хочешь научится) или программируй в паре с гуру(второе должен заметить быстрее и эффективней) Ага на себе проверено
Записан

Странно всё это....
Страниц: [1] 2 3 4 ... 8   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines