Ошибка: Аргумент типа void не завершён - C (СИ)
Формулировка задачи:
#include <stdio.h> void swap (int *a, int *b) { int x; x=*a; *a=*b; *b=x; } void p (int n) { int i; char A[n]; if(n==1){ } for(i=0;i<n;i++){ swap(&A[n-1], &A[n-1-i]); p(n-1); swap(&A[n-1], &A[n-1-i]); } } int main() { int s, d; printf ("Введите число \n"); scanf("%d", s); printf ("Результат: %d", p(s)); return 0; }
Решение задачи: «Ошибка: Аргумент типа void не завершён»
textual
Листинг программы
#include <iostream> #include <algorithm> int main() { int arr[] = { 1, 2, 3, 4, 5 }; size_t len = sizeof(arr) / sizeof(int); do { for (int i = 0; i < len; i++) std::cout << arr[i] << " "; std::cout << std::endl; } while (std::next_permutation (arr, arr + len)); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлен массив целых чисел
arr
и переменнаяlen
, которая содержит размер массива. - В цикле
do-while
выводится текущая последовательность элементов массива на экран. - С помощью функции
std::next_permutation
изменяется порядок элементов в массиве, и операция повторяется до тех пор, пока не будет получена следующая перестановка. - Функция
std::next_permutation
возвращает итератор к первому элементу, который был изменен в текущей перестановке. - При каждой итерации цикла
do-while
на экран выводится текущая последовательность элементов массива. - В конце программы возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д