DAV Опубликовано 2 февраля, 2011 Жалоба Опубликовано 2 февраля, 2011 По поводу отличия C от C++они оба славятся олним и тем же - гибкостью. а классы/перегрузки/шаблоны с этой точки зрения - лишь надстройка. Для удобства и красоты.C, как инструмент, - это удобный карандаш, который можно хоть узлом завязать. Гибкий и ничего лишнего.C++ - это тот же карандаш, но со сменными стержнями, с резиночкой и кнопочкой "Вкл/Выкл".C# - модная ручка. прозрачная, с подсветкой и автоподогревом. Весьма отдаленно напоминает карандаш по форме и удобству.Pascal - стальной монолитный карандаш. Не пишет.Добавлено спустя 9 минут 40 секунд:C и С++ - языки с гибкостью чугунного кола с заплатами из чугуна и с лишними бантиками. Цитата
Дамнин-Бука Опубликовано 27 октября, 2011 Жалоба Опубликовано 27 октября, 2011 Visual Studio С++ 2010 Pro может программу на C сконпелировать? Цитата
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))? Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.