Вывести массив на экран - C (СИ) (74370)
Формулировка задачи:
Здравствуйте недавно написал программу сортировку, но никак не могу вывести массив на экран, обычный принтф не работает, мне советовали добавить функцию и вывести через неё, но всё равно ничего не получилось. Если кому несложно, то не могли бы пожалуйста помочь?
#include <stdio.h> #include <stdlib.h> void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } int main() { int i,j,n=10,*A; A=malloc(sizeof(int)*n); for (i=0; i<n; i++){ A[i]=rand()%n; } } void quicksort(int *A, int l, int r) { int n=10; int i, j; i=l; j=r; int x=A[(i+j)/2]; printf("%d",n); do { while (A[i]<x) i++; while (A[j]<x) i--; if (i<=j){ if (i<j) swap(&A[i],&A[j]); i++; j--; printf("%d",A[j]); } } while (i<=j); if (i<j) quicksort(A,i,j); if (i<j) quicksort(A,i,j); for (i=0; i<n;i++){ printf("%d",A[i]); } }
Решение задачи: «Вывести массив на экран»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> void swap(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; } void sort(int A[]) { int i,j,n=10; for (j=0;j<n;j++) { for (i=0;i<n;i++) { if(A[i]>A[i+1]) swap(&A[i],&A[i+1]); } } for (i=0;i<n;i++) { printf("%d\n",A[i]); } } main() { int i,j,n=10; int A[10]; for (i=0; i<n; i++) { A[i]=rand()%n; printf("%d\n",A[i]); } printf("\n\nSorted\n\n"); sort(A); }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем функцию swap, которая меняет местами два значения, передаваемых по ссылке
- Определяем функцию sort, которая сортирует массив
- В функции main создаем массив A типа int и инициализируем его случайными значениями от 0 до 9
- Выводим массив на экран
- Вызываем функцию sort, передавая в нее массив A
- В функции sort сортируем массив методом пузырька
- Выводим отсортированный массив на экран
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д