Перейти к содержанию

Koshak

Пользователи
  • Постов

    964
  • Зарегистрирован

  • Посещение

Весь контент Koshak

  1. nonlux , у меня есть еще одна программа.подобие такой, только там нужное реализовать сортировку вставками, сортировку бинарными вставками и сортировку Шелла.вот ее и попробую по твоему методу писать,а эту уж так допишу ошибка где-то тут?) q++; z++;z=z+1; x[j+1]=x[j]; x[j+1]=w; } if(i>0) { z++; } P.s. а зачем писать функции для ввода и вывода,если можно сделать cin >> x[i]-ввод,cout << x[i]-вывод ?
  2. к сожалению, я не умею писать таким образомменя учили именно такно я пока только 2 курс вставки не сортируетможет что-то не так сделал? cout << "Введите тот же массив для сортировки методом вставки" << endl; cout << endl; int w; for(i=0;i cin >> x[i]; q=0,z=0; for (i=1;i { w=x[i]; for (j=i-1;j>=0 && (x[j] > w);j--) q++; z++;z=z+1; x[j+1]=x[j]; x[j+1]=w; } if(i>0) { z++; }
  3. спасибо, только не понятны некоторые строчки. вот эти
  4. ребят,посмотрите пожалуйста. вот конечный вариант программы,там что-то не так с методом выбора.он ВСЕГДА выводит числа 45 и 30 для любого массива.а с методом вставок он ВСЕГДА выводит количество присваиваний 30. #include #include using namespace std; int main () { setlocale(LC_ALL,"Russian"); const int n=10; int x[n],i,j,q=0,z=0,k,t,m,h,temp; cout << "Задайте массив из " << n << " элементов для сортировки обменом" << endl; srand (time(NULL)); for (i=0;i cin >> x[i]; cout << endl; for (i=0;i for (j=n-1;j>i;j--,q++) { if (x[j-1]>x[j]) { m=x[j-1]; x[j-1]=x[j]; x[j]=m; z++; } } for (i=0;i cout << x[i] << " "; cout << endl; cout << "количество сравнений = " << q << "\n"; z=z*3; cout << "количество присваиваний = " << z << "\n"; cout << endl; cout << "Введите тот же массив для сортировки методом выбора"; cout << endl; for (i=0;i cin >> x[i]; cout << endl; int imin; q=0;z=0; for (i=0;i { k=i,imin=x[i]; for(j=i+1;j if(x[j] { k=j,imin=x[j]; } x[j]=x[i]; x[i]=imin; z++; } for (i=0;i cout << x[i] << " "; cout << endl; cout << "количество сравнений = " << q << "\n"; z=z*3; cout << "количество присваиваний = " << z << "\n"; cout << endl; cout << "Введите тот же массив для сортировки методом вставки" << endl; cout << endl; int w; for(i=0;i cin >> x[i]; q=0,z=0; for (i=0;i { w=x[i]; for (j=i-1;j>=0 && x[j] > w;j--,q++) x[j+1]=x[j]; x[j+1]=w; z++; } for (i=0;i cout << x[i] << " "; cout << endl; cout << "Количество сравнений = " << q << endl; z=z*3; cout << "Количество присваиваний = " << z << endl; system("pause >> void"); return 0; }#include
  5. почти все песни очень понравились)
  6. а почему результат неправильно выводиться? и кстати,переделал сортировку обменом cout << endl; for (i=0;i cin >> x[i]; cout << endl; int imin; q=0;z=0; for (i=0;i { k=i,imin=x[i]; for(j=i+1;j { if(x[j] k=j,imin=x[j]; } x[k]=x[i]; x[i]=imin; z++; } for (i=0;i cout << x[i] << " "; cout << endl; cout << "количество сравнений = " << q << "\n"; z=z*3; cout << "количество присваиваний = " << z << "\n"; cout << endl;cout << "Введите тот же массив для сортировки методом выбора"; теперь он всегда выводит количество сравнений 45,а присваиваний 30:( Добавлено спустя 2 минуты 18 секунд: и переделал сортировку вставками cout << endl; int w; for(i=0;i cin >> x[i]; q=0,z=0; for (i=1;i { w=x[i]; j=i-1; while(j>=0 && x[j]>w) { x[j+1]=x[j]; j--; z++; } x[j+1]=w; } for (i=0;i cout << x[i] << " "; cout << endl; cout << "Количество сравнений = " << q << endl; z=z*3; cout << "Количество присваиваний = " << z << endl;cout << "Введите тот же массив для сортировки методом вставки" << endl; вроде нормально, но незнаю в какое место ставить счетчик
  7. сделал так for (i=n;i>0;i--) for (j=0;j но теперь выводятся неверные результаты Добавлено спустя 2 минуты 9 секунд: кстати,препод сказал, что это cout << "Введите тот же массив для сортировки методом выбора"; cout << endl; for (i=0;i cin >> x[i]; cout << endl; q=0;z=0; for (i=0;i for (j=i+1;j if (x[j] { swap(x[j],x[i]); z++; } for (i=0;i cout << x[i] << " "; cout << endl; cout << "количество сравнений = " << q << "\n"; z=z*3; cout << "количество присваиваний = " << z << "\n"; cout << endl; это нихрена не метод выбора,это то же самый пузырек, только чуть по-другому написан, а это cout << "Введите тот же массив для сортировки методом вставки" << endl; cout << endl; for(i=0;i cin >> x[i]; q=0,z=0; for (i=1;i for(j=1;j while((j>0) && (x[j-1]>x[j])) { swap(x[j-1],x[j]); z++; } for (i=0;i cout << x[i] << " "; cout << endl; cout << "Количество сравнений = " << q << endl; z=z*3; cout << "Количество присваиваний = " << z << endl; system("pause >> void"); return 0; } нихрена не мотед вставок.
  8. спасибо вроде все хорошо, только он для любого вида сортировки выдает одинаковое количество присваиваний
  9. я не одинок,но очень люблю побыть один
  10. хорошо,я попробую я нашел место,где есть ошибка,но не могу исправить ее. когда идет сортировка методом обмена srand (time(NULL)); for (i=0;i cin >> x[i]; cout << endl; for (i=0;i for (j=1;j if (x[j-1]>x[j]) { m=x[j-1]; x[j-1]=x[j]; x[j]=m; z++; } for (i=0;i cout << x[i] << " "; cout << endl; cout << "количество сравнений = " << q << "\n"; cout << "количество присваиваний = " << z << "\n"; cout << "Задайте массив из " << n << " элементов для сортировки обменом" << endl; для массива 5 19 4 7 15 12 1 6 10 8 он выводит 90 сравнений, хотя я посчитал на бумаге и их там 45.значит он в каком, то месте дважды проходит по массиву
  11. скажите,а вот если я живу рядом с телецентром, в часных домах, и у меня нет телефона.то смогу ли я провести себе u2net и сколько это будет стоить?
  12. Rowdy если найдешь этот код на просторах интернета, дай ссылкуя буду ставить "спасибо" над каждым твои постом.в течении года.
  13. Требуется отсортировать один и тот же массив тремя видами сортировки.Обменом,выбором и вставками. мой код #include #include using namespace std; int main () { setlocale(LC_ALL,"Russian"); const int n=10; int x[n],i,j,q=0,z=0,k,t,m,h,temp; cout << "Задайте массив из " << n << " элементов для сортировки обменом" << endl; srand (time(NULL)); for (i=0;i cin >> x[i]; cout << endl; for (i=0;i for (j=1;j if (x[j-1]>x[j]) { m=x[j-1]; x[j-1]=x[j]; x[j]=m; z++; } for (i=0;i cout << x[i] << " "; cout << endl; z=z*3; cout << "количество сравнений = " << q << "\n"; cout << "количество присваиваний = " << z << "\n"; cout << endl; cout << "Введите тот же массив для сортировки методом выбора"; cout << endl; for (i=0;i cin >> x[i]; cout << endl; q=0;z=0; for (i=0;i for (j=i+1;j if (x[j] { swap(x[j],x[i]); z++; } for (i=0;i cout << x[i] << " "; cout << endl; cout << "количество сравнений = " << q << "\n"; z=z*3; cout << "количество присваиваний = " << z << "\n"; cout << endl; cout << "Введите тот же массив для сортировки методом вставки" << endl; cout << endl; for(i=0;i cin >> x[i]; q=0,z=0; for (i=1;i for(j=1;j while((j>0) && (x[j-1]>x[j])) { swap(x[j-1],x[j]); z++; } for (i=0;i cout << x[i] << " "; cout << endl; cout << "Количество сравнений = " << q << endl; z=z*3; cout << "Количество присваиваний = " << z << endl; system("pause >> void"); return 0; }#include программа выдает неверные результатыпомогите найти ошибку.
  14. просто нужно было решение задачи вовремя дать,как договаривались,а не через 1,5 часа.
  15. я же написал,условие задачи в личку
  16. оплата наличкой/электронными деньгами/на телефон. 500р. условие задачи в личку.
  17. живу в центревсе всегда спокойно было,все друг друга знают,к людям не пристают спасибо центру за это ©
  18. я раньше вообще не верил в любовь.говорил, что ее не существует и т.д. потом встретил одного человечкас тех пор, когда люди говорят, что не верят в любовь и вообще ничего не чувствуют,я думаю "у тебя еще все впереди:)"
  19. приглашаем вас посетить наш форум - http://forum.pickup.ru/. как соблазнить девушку?как познакомиться?как удержать/влюбить/бросить все это вы найдете у нас.
  20. Koshak

    This is хорошо

    ты выкинула подушку????????????????????!!!!!!!!!!!!11111111111
×
×
  • Создать...