-
Постов
964 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Галерея
События
Весь контент Koshak
-
когда поступил в универ, осматривал свой поток на наличие красивых девушекнашел самую красивую...через день подхожу,она стояла с одногруппницей своей, говорю :"Вы же математики да?", они говорят:"Да", я и говорю, ну пошли,мол,гулять сегодня потоком,знакомиться же надо(на самом деле никакого потока я не звал и оногруппнице её потом сказал, что бы не приходила) вот так и вытянул её одну.вот так все и закрутилосьполтора года вместе
-
# include # include int main() { int komp; int udarmolotkom=0; int vremya;//время зависания printf("enter vremya zavicaniya"); scanf("%d",vremya); while(komp zavicaet) { udarmolotkom++; vremya--; } if(komp==1 && vremya==0) return true; }
-
ладно,перефразирую вопрос. В методе бинарных вставок осуществляется метод тех же вставок, но для поиска вставки элемента используется не линейный поиск, а бинарный. Вопрос:Что бы использовать бинарный поиск, нужно сначало отсортирова массив.т.е. мы сортируем массив и....опять сортируем его???
-
а где скачать дайте ссылку?
-
ладно, все спасибо P.s next вопрос.есть у кого реализация метода бинарных вставок???
-
как не нужна?мне её то и надо вывести((
-
тогда printf("%d",shell(s,p))?
-
отсортировать массив методом вставок и сортировкой шелла.сравнить кол-во сравнений и присваиваний. #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.
-
не получится. у меня функция делает сортировку.а в сортировке я еще считаю кол-во сравнений.это и есть число q. поэтому когда я её вызову, он будет сортировать, а не выводить число q.
-
ну дак, поэтому я и спрашиваю
-
т.е. void Random(int i) { int q; .... .... printf("%d",q); } int main() .... .... эм...а как вызвать вывод?
-
т .е. я пишу printf("%d",Random) и у меня выйдет значение переменной q????
-
эм...что такое Random(2)? Добавлено спустя 42 секунды: и как тогда?мне очень нужно передать её значение в main
-
сделал так. не помогает int Random(int i) { int q .... return q } int main() { .... printf("%d",q); } error C2065: 'q' : undeclared identifier
-
Добавлено спустя 38 секунд: и что делать? переделать этот тип?
-
Допустим, я описал функцию Void Random(int i).в этой фукнции сделал необходимые вычисления и получил какое-то число q. после этого я вызываю функцию Void Random в функции int main() и мне нужно вывести это число q на экран. я пробовал делать return q, но ошибка "'void' function returning a value" а если я не делаю return, то функция Main просит ввести это число q, но мне не нужно его вводить, мне нужно вывести его на экран таким, каким его посчитала функция Void Random.как это сделатЬ?