Я уже отвечал на подобный вопрос. Эту колдунью зовут Кодировка КОИ-8. Таблица кодирования: А-Ю, Б-А, В-Б, Г-Ц, Д-Д, Е-Е, Ж-Ф, З-Г, И-Х, Й-И, К-Й, Л-К, М-Л, Н-М, О-Н, П-О, Р-П, С-Я, Т-Р, У-С, Ф-Т, Х-У, Ц-Ж, Ч-В, Ш-Ь, Щ-Ы, Ъ-З, Ы-Ш, Ь-Э, Э-Щ, Ю-Ч, Я-Ъ, Ё-╦ Таблица построена так. Слева стоят буквы по русскому алфавиту, а справа русские буквы, соответствующие английскому алфавиту. @ - Ю (код 40), A - А (41), B - Б, C - Ц, D - Д, E - E, F - Ф, и т.д. Буква Ё - 33-ья в алфавите, она выбивается из ряда в 32 буквы, поэтому превращается не в букву, а в элемент псевдографики. И еще меняется регистр, 1-ая буква маленькая, остальные большие. Эти имена по порядку: Глеб, Степан, Иван, Фёдор, Кирилл, Леонид
#include <iostream> #include <iomanip> using namespace std;
int main() { int n,k; cout<<"n = "; cin>>n; int a[n],b[n]; srand(time(NULL)); // запись в массив for (int i=0; i<n; i++) { a[i]=15-rand()%30; cout<<a[i]<<" "; } cout<<endl; // сортировка массива по убыванию for (int i=0; i<n-1; i++) for (int j=i+1; j<n; j++) if (a[j]>a[i]) swap(a[i],a[j]); // поиск первого отрицательного k=0; while (a[k]>=0) k++; // запись положительных по убыванию for (int i=0; i<k; i++) b[i]=a[i]; // запись отрицательных по возрастанию for (int i=k; i<n; i++) b[i]=a[n-i+k-1]; // вывод массива b for (int i=0; i<n; i++) cout<<b[i]<<" "; cout<<endl; system("pause"); return 0; }