Не работает программа, не могу найти ошибку - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан одномерный массив А неупорядоченных целых чисел. Назовем инверсией два стоящих рядом элемента, когда левый элемент больше правого. Из каждой инверсии переписать в массив В меньший элемент. Вывести массив В на экран или выдать сообщение «Массив В пуст».
#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
#define N 6
int main (void)
{
    setlocale(LC_ALL, "rus");
 
    int B[N], A[N]={5,6,2,4,9,3};
    int k=0,temp,i;

    for (i=0;i<N;i++)
    {
        if (A[i]>A[i+1]) 
            {
                temp=A[i];
                A[i]=A[i+1]; 
                A[i+1]=temp;
                B[i]=A[i+1];
            }
        else B[i]=A[i+1];
    }
    if (B[i]==0) printf("Массив пуст\n");
    else printf("%d\n",B[i]);
 
    system("pause");
    return 0;
}

Решение задачи: «Не работает программа, не могу найти ошибку»

textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
#define N 6
int main (void)
{
    setlocale(LC_ALL, "rus");
 
    int B[N], A[N]={5,6,2,4,9,3};
    int k=0,i;
 
    for (i=1;i<N;i++) if (A[i-1]>A[i]) B[k++]=A[i];
    if (k==0) printf("Массив пуст\n");
    else for (i=0;i<k;i++) printf("%d\n",B[i]);
 
    system("pause");
    return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы программы: stdlib.h, printf.h, locale.h.
  2. Установка значения N равным 6, это количество элементов в массиве A.
  3. Инициализация массива A значениями 5,6,2,4,9,3.
  4. Установка значения k равным 0, это счетчик для заполнения массива B.
  5. Установка значения i равным 1, это счётчик для цикла for.
  6. Проверка условия для цикла for, если A[i-1] больше A[i], то выполняется обмен элементов и увеличивается значение k.
  7. Если значение k равно нулю, то выводится сообщение о пустоте массива B.
  8. В противном случае, выводятся все элементы массива B с помощью цикла for.
  9. Конец программы с помощью команды system(pause).
  10. Возвращение значения 0, что означает успешное завершение программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы