найти ошибку в коде
#include "stdafx.h"
#include
#include
#include
using namespace std;
int randInt(int a, int b)
{
return a + rand() % (b - a + 1);
}
void printArray(int* arr, int N)
{
for (int i = 0; i < N; i++)
cout << arr[i] << " ";
cout << endl;
}
void bubble_sort(int* arr, int N)
{
for (int i = 0; i < N - 1; i++)
{
for (int j = N - 2; j >= i; j--)
{
if (arr[j + 1] < arr[j])
{
//swap(arr[j], arr[j+1]);
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
srand(time(0));
const int size = 10;
int A[size];
/*
for (int& x : A) //çàïèñü öèêëà â äèàïàçîíå
int x = randInt(0, 100);
*/
for (int i = 0; i < size; i++)
A[i] = randInt(0, 100);
if (size < 20000)
printArray(A, size);
clock_t tStart = clock();
insert_sort(A, size);
cout << "Time: " << (double)(clock() - tStart) / CLOCKS_PER_SEC << endl;
if (size < 20000)
printArray(A, size);
system("pause");
return 0;
}
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
1) a x a = a² ⇒ b; b x a = a³ ⇒ результат
2) a x a = a² ⇒ b; b x b = a⁴ ⇒ c; c x c = a⁸ ⇒ c; c x b = a¹⁰ ⇒ результат
Программа на языке PascalABC.Net
var
a,b,c,y:real;
begin
Write('Введите число: '); Read(a);
b:=a*a; y:=b*a; Writeln('Третья степень числа равна ',y);
c:=b*b; c:=c*c; y:=b*c;
Writeln('Десятая степень числа равна ',y)
end.
Тестовые решения:
Введите число: 2
Третья степень числа равна 8
Десятая степень числа равна 1024
Введите число: -13.594
Третья степень числа равна -2512.128188584
Десятая степень числа равна 215512594781.574