Вопрос задан 22.06.2023 в 21:25. Предмет Информатика. Спрашивает Лелів Ліда.

Помогите пж найти ошибку в коде на СИ (должна произойти сортировка по последней цифре в массиве)

#include #include #include using namespace std; int main() { srand(time(NULL)); const int N = 10; int A[N],j,i printf("Массив: "); for (int i = 0; i i; j--) { if (A[j] % 10 < A[j-1] % 10) { swap(A[j-1], A[j]); } } } printf("The array after sorting:"); for (int i = 0; i < N; i++) { printf("%3d",A[i]); } return 0; }
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Медведь Руслан.

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main(){

srand(time(NULL));

const int N = 10;

int A[N],j,i;

printf("source array: ");

for (int i = 0; i < N;i++){

   A[i] = rand() % 15;

   printf("%3d ",A[i]);

}

for (int i = 0; i < N; i++)

   for (int j = 0; j < N-1; j++)

       if (A[j]%10 > A[j+1]%10){

           int temp = A[j];

           A[j] = A[j+1];

           A[j+1] = temp;

       }

printf("\nThe array after sorting:");

for (int i = 0; i < N; i++)

{

printf("%3d ",A[i]);

}

return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

В вашем коде есть несколько ошибок. Вот исправленный код с комментариями:

c
#include <iostream> #include <ctime> #include <cstdlib> using namespace std; int main() { srand(time(NULL)); const int N = 10; int A[N]; // Заполнение массива случайными числами for (int i = 0; i < N; i++) { A[i] = rand() % 100; // Здесь можно изменить 100 на другое значение по вашему усмотрению } cout << "Массив: "; for (int i = 0; i < N; i++) { cout << A[i] << " "; } cout << endl; // Сортировка массива по последней цифре for (int i = 0; i < N; i++) { for (int j = N - 1; j > i; j--) { if (A[j] % 10 < A[j - 1] % 10) { swap(A[j - 1], A[j]); } } } cout << "Массив после сортировки: "; for (int i = 0; i < N; i++) { cout << A[i] << " "; } cout << endl; return 0; }

Изменения, которые внесены:

  1. Заменена библиотека #include на #include <iostream>.
  2. Использован оператор cout для вывода результатов на экран.
  3. Исправлены ошибки в цикле сортировки (изменены условия цикла).
  4. Добавлены комментарии для лучшего понимания кода.

Теперь код должен корректно работать и сортировать массив по последней цифре.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос