Группировка случайных символов согласно ASCii - C (СИ)
Формулировка задачи:
Строка задается в
коде программы в виде случайной последовательности букв и цифр. Посталось сгруппировать буквы и цифры в массиве...несколько дней уже думаю. пробывал if.while do не выходит. Народ если есть идеи или советы по поводу программы делитесь. Я готов побороться еще но пока в тупике-требуется подкрепление.
ользоваться дополнительными массивами нельзя.
ЗамечаниеСортировка в данной задаче неприменима ввиду ее трудоемкости.
Нужно использовать группировку элементов массива.
то что удалось написать:#include <stdio.h> #include <stdlib.h> #include <time.h> char mas() { switch( rand () % 3 ) { case 0: return rand() % 25 + 'a'; case 1: return rand() % 25 + 'A'; case 2: return rand() % 10 + '0'; } } int main() { int i; char arr [6]; srand( time(0) ); for( i = 0; i < 6; i++ ){ arr [i] = mas(); putchar (arr[i]); } return 0;
Решение задачи: «Группировка случайных символов согласно ASCii»
textual
Листинг программы
int main() { int j,i=0; char temp, arr [N]; for(i = 0; i < N; i++ ) { arr[i]= mas(); /* где "mas()"-генератор случайных символов*/ temp = arr[i]; for( j =i-1;j >= 0 && arr[j]<temp;j--) arr[j+1] = arr[j]; arr[j+1] = temp; } for (i = 0; i < N; i++) printf("%c", arr[i]); return 0; }
Объяснение кода листинга программы
В этом коде выполняется группировка случайных символов согласно ASCII. Вот список действий, которые выполняются в коде:
- Переменная N инициализируется значением, определяющим количество символов в массиве.
- В цикле for создаются символы массива arr[] с помощью функции mas(). Эта функция генерирует случайные символы.
- Затем, в цикле for, происходит сортировка массива arr[] в порядке возрастания. Для этого используется второй цикл for, который начинается с i-1 и идет до 0, пока arr[j] меньше текущего значения temp.
- В процессе сортировки, элементы, которые больше текущего значения temp, сдвигаются вправо, а значение temp само по себе добавляется в конец массива.
- После завершения сортировки, все символы массива выводятся на экран с помощью функции printf().
- Код завершается возвратом 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д