DAV Опубликовано 2 февраля, 2011 Жалоба Поделиться Опубликовано 2 февраля, 2011 По поводу отличия C от C++они оба славятся олним и тем же - гибкостью. а классы/перегрузки/шаблоны с этой точки зрения - лишь надстройка. Для удобства и красоты.C, как инструмент, - это удобный карандаш, который можно хоть узлом завязать. Гибкий и ничего лишнего.C++ - это тот же карандаш, но со сменными стержнями, с резиночкой и кнопочкой "Вкл/Выкл".C# - модная ручка. прозрачная, с подсветкой и автоподогревом. Весьма отдаленно напоминает карандаш по форме и удобству.Pascal - стальной монолитный карандаш. Не пишет.Добавлено спустя 9 минут 40 секунд:C и С++ - языки с гибкостью чугунного кола с заплатами из чугуна и с лишними бантиками. Ссылка на комментарий
Дамнин-Бука Опубликовано 27 октября, 2011 Жалоба Поделиться Опубликовано 27 октября, 2011 Visual Studio С++ 2010 Pro может программу на C сконпелировать? Ссылка на комментарий
Whirlpool Опубликовано 27 октября, 2011 Жалоба Поделиться Опубликовано 27 октября, 2011 Дамнин-Букада Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 Допустим, я описал функцию Void Random(int i).в этой фукнции сделал необходимые вычисления и получил какое-то число q. после этого я вызываю функцию Void Random в функции int main() и мне нужно вывести это число q на экран.я пробовал делать return q, но ошибка "'void' function returning a value"а если я не делаю return, то функция Main просит ввести это число q, но мне не нужно его вводить, мне нужно вывести его на экран таким, каким его посчитала функция Void Random.как это сделатЬ? Ссылка на комментарий
Vsadnik665 Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 если функция, то возвращай число q.int Random (int i);{int q;...return q;} Ссылка на комментарий
Innk Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 Перед именем функции пишется тип возвращаемого значения, когда void - функция ничего не возвращает Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 если функция, то возвращай число q.int Random (int i);{int q;...return q;}я пробовал делать return q, но ошибка "'void' function returning a value"Добавлено спустя 38 секунд:Перед именем функции пишется тип возвращаемого значения, когда void - функция ничего не возвращаети что делать? переделать этот тип? Ссылка на комментарий
ArtyomK Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 void Random(int i) -> int Random(int i) Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 void Random(int i) -> int Random(int i)сделал так. не помогаетint Random(int i){int q....return q}int main(){....printf("%d",q);}error C2065: 'q' : undeclared identifier Ссылка на комментарий
Lakers Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 ужас то какойДобавлено спустя 35 секунд:int main(){....printf("%d",Random(2));} Ссылка на комментарий
Biohazard Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 q - локальная переменная, ты не можешь ее просто так вызвать. Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 ужас то какойДобавлено спустя 35 секунд:int main(){....printf("%d",Random(2));}эм...что такое Random(2)?Добавлено спустя 42 секунды:q - локальная переменная, ты не можешь ее просто так вызвать.и как тогда?мне очень нужно передать её значение в main Ссылка на комментарий
D_Master Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 что такое Random(2)?-_\\Функция это твояи как тогда?мне очень нужно передать её значение в mainLakers уже показал как Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 т .е. я пишу printf("%d",Random) и у меня выйдет значение переменной q???? Ссылка на комментарий
Biohazard Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 можно сделать тип функции void и вывод организовать в теле функции , а потом в главной просто вызвать ее Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 т.е.void Random(int i){int q;........printf("%d",q);}int main()........эм...а как вызвать вывод? Ссылка на комментарий
D_Master Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 Koshakпочитай что такое функции, для чего используются return'ы. У тебя проблема не в реализации, а в нехватке знаний. Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 ну дак, поэтому я и спрашиваю Ссылка на комментарий
Biohazard Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 в теле главной функции просто вызови ее и все, она выведет значение.Например так:int main(){ ..... random(2); return 0;} Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 не получится.у меня функция делает сортировку.а в сортировке я еще считаю кол-во сравнений.это и есть число q.поэтому когда я её вызову, он будет сортировать, а не выводить число q. Ссылка на комментарий
Sheogorath Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 Весь свой код выложи, и задание. Ссылка на комментарий
D_Master Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 Koshakобъяви Q как глобальную переменную и изменяй её как хочешь Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 Весь свой код выложи, и задание.отсортировать массив методом вставок и сортировкой шелла.сравнить кол-во сравнений и присваиваний.#include #include #include void Random(int arr[], unsigned len){ srand(time(0)); unsigned i; for (i = 0; i < len; ++i) { arr[i] = rand() % (2*len); }}void Print(int arr[], unsigned len){ unsigned i; for (i = 0; i < len; ++i) { printf("%3d", arr[i]); } printf("\n") ;}void vstavki(int arr[],unsigned int len){ int v,i,j,q=0,z=0; for(i=0;i q=0,z=0; for (i=1;i { v=arr[i]; q=q+1; for (j=i-1;j>=0 && (arr[j] > v);j--,z++,q++) arr[j+1]=arr[j]; arr[j+1]=v; z=z+2; }}int shell(int * arr, int len){ int i,k,j,h,x,hh,s=0,p=0; h=len/2; do { do { hh=0; for(i=0;i { if(arr[i]>arr[i+h]) { x=arr[i]; arr[i]=arr[i+h]; arr[i+h]=x; hh=1; s++; p=p+3; }//if }//i }while(hh==1);//do2 h=h/2; }while(h>0);//do1 }int main(int argc, char **argv){ int s=1; int arr[20]; unsigned len = sizeof(arr)/sizeof(*arr); Random(arr, len); printf("array:"); Print(arr, len); shell(arr, len); printf(" \n "); printf("\nsorted:"); Print(arr, len); printf("\nsravneniy:"); printf("%d",shell); printf("\nvstavki:"); vstavki(arr, len); Print(arr,len); system("pause"); return 0;}нужно переменную "s" и "p" из int shell вывести в main. Ссылка на комментарий
martinges Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 printf("%d",shell); стесняюсь спросить)) а параметры эта функция(shell) из воздуха берет?) Ссылка на комментарий
Koshak Опубликовано 5 февраля, 2012 Жалоба Поделиться Опубликовано 5 февраля, 2012 тогдаprintf("%d",shell(s,p))? Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти