Содержание
- 2. 0) Программируйте проще! (Принцип KISS) Аккуратно форматируйте код Внимательно изучайте условие задачи Не меняйте исходные данные
- 3. Задача относится к классу переборных задач (когда дано множество точек и необходимо построить множество пар, троек,
- 4. sqrt и pow в задачах не нужны – это лишние вычисления! Вместо поиска максимальной длины проще
- 5. Никогда не сравнивайте числа с плавающей точкой на точное равенство! Вместо if (a == b) …
- 6. Использование динамической памяти в этих задачах не предполагалось. Но если взяли память - освобождайте! В некоторых
- 7. Площадь треугольника: S=0.5*abs((x1-x3)(y2-y3)-(x2-x3)(y1-y3)) 3 умножения, 5 вычитаний и модуль! Формула Герона значительно затратнее! Не говоря уже
- 8. И самое главное… Да, 4 точки образуют квадрат, если равны между собой длины сторон и равны
- 9. А если вершины перенумерованы по-другому, например так: (1-3) = (2-3) = (2-4) = (1-4) И (1-2)
- 10. int isSqr(double *X, double *Y) { int i,j,k,s1,s2,s3; double d,p,q,D[6]; k=0; for (i=0; i for (j=i+1;
- 11. Задача 2 Построение массива уникальных Момент истины: Не делать лишних сравнений
- 12. int main() { int Arr[10] = {5, 2, 6, 5, 8, 6, 3, 3, 6, 4},
- 13. Слияние отсортированных массивов Задача 3 Момент истины: Слияние, а не объединение+сортировка
- 14. int A[7]={1,3,4,5,6,8,12}; int B[6]={-1,0,7,8,8,20}; int R[13]; int i,j,k,p; int na=7; int nb=6; i=j=k=0; while (1) {
- 15. Зелёный зал
- 16. double squareArea( double a ) { return pow( a, 2 ); }
- 17. scanf("%i", &n); int x[n], y[n];
- 18. for (int l = 0; l if((FirstArr [i] == FinalArr [l]) || g) g = true;
- 19. int n=0; int a[8]={1,2,1,3,3,2,2,3}; int arr[n]; for (int i=1;i { if (a[i+1]!=a[i]) { arr[i]=a[i]; n++; }
- 20. number_list.sort() // А если в массиве 10 млн. эл-тов? unique_number_list = [number_list[0]] for i in range(1,
- 21. int n = 6, mass[n] = {-1, 1, 2, 2, 2, 0}; for(int i = 0;
- 22. #include #include #include #include #include #include bool isAnElementHere(int* arr, int element){ for(int i=0; i if(arr[i]==element) return
- 23. for i in range(len(arr)): if arr[i] not in res: res.append(arr[i])
- 24. while(i { if(x[i] else c[v++]=y[j++]; }
- 25. double length=leng(X[i],X[j],Y[i],Y[j]);//находим длинну по координатам
- 26. for(j=0; j { if(X[i] == X[j]) break; } /* Если не одно значения массиве в диап
- 27. //задача 3 объеденить два массива и отсортировать по возрастанию Откуда условие?
- 28. Длина строки 200 симв!
- 29. a=0; for (int j=0;j { if (a1[i]==a2[j]) break; a++; } if (a==n){
- 30. s=int(s*100 + .5); //округление числа (например 1.9999 в 2) s=s/100; if(s==maxs){
- 31. int *numb; numb=(int*)malloc(1*sizeof(int)); // что в numb? int i, j; for (i=0; i // Проверяется, есть
- 32. int uniquen(int num, int* arr, int len) { for(int i=0; i { if(arr[i]==num) return 1; }
- 33. int arr[]={1, 1, 1, 3, 4, 10, 0, 12, 3, 3, 8}; len=sizeof(arr)/sizeof(int); bool *buf=(bool*) calloc
- 34. // проверка элемента на уникальность, если элемент больше предыдущего и меньше следующего, то элемент массива уникальный
- 35. for (int i = 0; i { for (int j = 0; i {
- 36. int main() { int arr[] = {1,2,1,3,3,2,2,3}; int n,m=0; int res[ ]={}; n = sizeof(arr)/sizeof(int); int
- 37. int *newmass=(int *)calloc(8,sizeof(int *));
- 38. Логика такая: изначальный массив по возрастанию отсортировать, затем сравнивая элементы отсортированного массива занулить не уникальные элементы,
- 39. pl=((x[j]-x[i])*(y[k]-y[i])-(x[k]-x[i])*(y[j]-y[i]))/(float)2; if (pl pl=fabs(((x[j]-x[i])*(y[k]-y[i])-(x[k]-x[i])*(y[j]-y[i]))/2.0);
- 41. Скачать презентацию