Теперь в нашем онлайн-магазине доступна уникальная книга «BEAM-робототехника. От азов до создания практических устройств», идеально подходящая как для кружков робототехники, так и для самообучения дома. Вы можете приобрести её по привлекательной цене в 699 рублей. Дополнительная информация о книге доступна на нашем сайте. Также в ассортименте нашего онлайн-магазина представлены готовые наборы для сборки роботов, с помощью которых ваш ребенок сможет легко собрать своего первого робота, следуя нашим подробным инструкциям. Перейти в магазин


[ Раскрыть online-чат / Закрыть ] · [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: nightmare, Huntswarrior, Aleks_Crow  
Форум » Программирование микроконтроллеров AVR, PIC » Языки програмирования » Работа с матрицами в С
Работа с матрицами в С
Отправлено 12.11.2019 - 11:451
Начальная группа
1 сообщений
Мужчина
Здравствуйте. Помогите, пожалуйста, с задачей: Проверить упорядочены ли элементы столбцов матрицы. Если нет, то упорядочить их в порядке возрастания методом просеивания.
Вот я сделал ввод-вывод матрицы:

Код
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
int main ()
{
int a[10][10];
int i, j, n, m, r, k, p;
printf ("Vvedite razmer matrici n=");
  scanf ("%d", &n);
k=0;

for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
   printf("a[%d][%d]=", i, j);
   scanf("%d", &a[i][j]);

}
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)

   printf("%2d", a);
   printf("\n");
}
               }
Проверку на упорядоченность я делаю так:
for (i = 0; i < n; i++) //просматриваем каждую строку и // проверяем, упорядочена ли она

{
   k = p = 0;   
   for (j = 0; j < n - 1; j++)

        if (A <= A[j + 1]) k++;//упорядочена ли по возрастанию
      else
         p++;// упорядочена ли по убыванию

   if (k != n - 1 && p != n - 1) // если строка не упорядочена,      //то выполняем сортировку
Я нашёл сам метод просеивания для массива:
for (i=0;i<=n-2;i++)
if (A>A[i+1])
{
  r=A;

  A=A[i+1];
  A[i+1]=r;
  j=i;
  while (A<A[j-1]&&j>0)
  {
    r=A;
    A=A[j-1];
    A[j-1]=r;
    j=j-1;
  }
}[/j][/i]


Профиль Личное сообщение Дом. страница icq Skype
0
Отправлено 12.11.2019 - 11:502
Администраторы
3417 сообщений
Мужчина
Вам с вопросами таких задач нужно обращаться на cyberforum - там обязательно помогут. =)


Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
34
Форум » Программирование микроконтроллеров AVR, PIC » Языки програмирования » Работа с матрицами в С
  • Страница 1 из 1
  • 1
Поиск: