Не могу добиться от программы правильной работы со случайно сгенерированными числами любого интервала (от 0 до 10 все норм) .
Сама задача: сортировка матрицы методом пузырька.
Помогите плз!
#include <stdio.h>
#include <stdlib.h>
#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<n;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<n;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<n;i++)>[j]);
}
printf("\n");
}
printf("\nobshee kollichestvo zamen=%d\n",x);
system("pause");
return 0;
}
Другие языки программирования и технологии
Сортировка методом пузырька. Си.
Так что ль?
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
#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 <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>
#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;
}
Поменяй
if (j!=9)
на
if (a[j] > a[j+1])
if (j!=9)
на
if (a[j] > a[j+1])
Делал что-то подобное, но с чтением из файла. Держи, поможет чем:
#include <iostream>
#include <fstream>
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;
}
#include <iostream>
#include <fstream>
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;
}
Похожие вопросы
- Помогите с массивом и сортировкой методом пузырька в языке Си! Прогу надо сдать в пятницу срочно, не знаю как начать!
- Помогите найти ошибку в задаче, сортировка методом пузырька работает неправильно.
- Срочно нужна сортировка методом пузырька на с++. Срочносрочносрочно
- Сортировка массива "пузырьком" Объясните вкратце, что подразумевается под "пузырьком". Трусы постираю тому, кто объяснит
- Подскажите пожалуйста что необходимо исправить (метод пузырька на с++)
- Помогите пожалуйста, решить данную задачу методом пузырька!!!
- (C++) Нужна помощь в создании метода "пузырька".
- помогите, пожалуйста, очень срочно нужно как отсортировать число 1079011205 методом пузырька ???
- Нужно ввести массив из 10 элементов и отсортировать их в порядке возрастания методом пузырька, помогите, пожалуйста.
- Заполните массив случайными числами. Отсортируйте массив по возрастанию методом пузырька.