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))?
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти