Группировка случайных символов согласно ASCii - C (СИ)

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

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

Строка задается в коде программы в виде случайной последовательности букв и цифр. П

ользоваться дополнительными массивами нельзя.

Замечание

Сортировка в данной задаче неприменима ввиду ее трудоемкости.

Нужно использовать группировку элементов массива.

то что удалось написать:
#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;
осталось сгруппировать буквы и цифры в массиве...несколько дней уже думаю. пробывал if.while do не выходит. Народ если есть идеи или советы по поводу программы делитесь. Я готов побороться еще но пока в тупике-требуется подкрепление.

Решение задачи: «Группировка случайных символов согласно 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. Вот список действий, которые выполняются в коде:

  1. Переменная N инициализируется значением, определяющим количество символов в массиве.
  2. В цикле for создаются символы массива arr[] с помощью функции mas(). Эта функция генерирует случайные символы.
  3. Затем, в цикле for, происходит сортировка массива arr[] в порядке возрастания. Для этого используется второй цикл for, который начинается с i-1 и идет до 0, пока arr[j] меньше текущего значения temp.
  4. В процессе сортировки, элементы, которые больше текущего значения temp, сдвигаются вправо, а значение temp само по себе добавляется в конец массива.
  5. После завершения сортировки, все символы массива выводятся на экран с помощью функции printf().
  6. Код завершается возвратом 0, что означает успешное выполнение программы.

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


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

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

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