Рахима Достамбаева
Рахима Достамбаева

Сортировка методом пузырька. Си.

Не могу добиться от программы правильной работы со случайно сгенерированными числами любого интервала (от 0 до 10 все норм) .
Сама задача: сортировка матрицы методом пузырька.
Помогите плз!

#include
#include
#define n 10

int main()
{
int a[n][n],i,j,smena,x,m,p;
srand(time(NULL));
x=0;
m=0;

//заполнение матрицы случайными элементами.
printf("sgenerirovannaya matritsa\n\n\n");
for(i=0;i[j]=rand();
printf("%d\t",a[j]);
}
printf("\n");
}

//замена методом пузырькa.Повторение цикла n^2-1 раз.
for (p=0;p<(n*n-1);p++)
{
for(i=0;i[j]>a[j+1])
{
if (j!=9)
{ smena=a[j];
a[j]=a[j+1];
a[j+1]=smena;
x++;}

else{ smena=a[j];
a[j]=a[i+1][0];
a[i+1][0]=smena;
x++;}

}
}
}
}

//вывод колличества прогонов цикла.

printf("\n");printf("\n");
printf("poluchennaya matriza\n");
printf("\n");printf("\n");

//вывод матрицы на печать
for(i=0;i[j]);
}
printf("\n");
}

printf("\nobshee kollichestvo zamen=%d\n",x);
system("pause");

return 0;
}

ТК
Тома Калимулина

Так что ль?

#include
#include
#include
#include
#include
#define N 10
int main() {
int a[N][N], n, m, k, temp;
srand((unsigned)time(NULL));
setlocale(LC_CTYPE, "Russian_Russia.1251");
for (n = 0; n < N; n++)
for (m = 0; m < N; m++)
a[n][m] = rand() % 11;
printf("\tИсходная матрица 10 х 10:\n\n");
for (n = 0; n < N; n++, printf("\n"))
for (m = 0; m < N; m++)
printf("%4i", a[n][m]);
printf("\n\tОтсортированная матрица: \n\n");
for (n = 0; n < N; n++) {
for (m = 1; m < N; m++) {
for (k = 0; k < N - m; k++) {
if (a[n][k] > a[n][k + 1]) {
temp = a[n][k];
a[n][k] = a[n][k + 1];
a[n][k + 1] = temp;
}
}
}
}
for (n = 0; n < N; n++, printf("\n"))
for (m = 0; m < N; m++)
printf("%4i", a[n][m]);
_getch();
return 0;
}

Костя
Костя

Делал что-то подобное, но с чтением из файла. Держи, поможет чем:

#include
#include
using namespace std;

int main()
{
const int n = 5;
int a[n];
ifstream f("file.txt");
for (int i = 0; i < n; ++i)
{
f >> a;
cout << a << endl;
}
// soring
for (int i = n - 1; i >= 1; --i)
for (int j = 0; j < i; ++j)
{
if (a[j] > a[j + 1])
{
int foo = a[j];
a[j] = a[j + 1];
a[j + 1] = foo;
}
}
cout << endl;
for (int i = 0; i < n; ++i)
cout << a << endl;
}

ЮН
Юрий Никулин

Поменяй

if (j!=9)

на

if (a[j] > a[j+1])

Похожие вопросы
помогите с сортировкой на Си
Ребят, помогите пожалуйста написать программу на бейсике, сортировка методом пузырька.. . а то сессию завалю нафиг ((
сортировка естественым слиянием с (си)
Сортировка методом бинарной вставки
Сортировка Шелла на Си
Как происходит сортировка слов, методом сортировки Хоара?
Сортировка массива методом пузырька и прямого обмена одно и тоже? Паскаль.
сортировка пузырьком java Метод "пузырек" можете объяснить значение и роль каждого элемента алгоритма ???
Сортировка массива методом вставки
помогите срочно. Что за метод сортировки с++