Форум программистов, компьютерный форум CyberForum.ru

Сортировка символьного массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Двухмерный массив, обработка строк символов http://www.cyberforum.ru/cpp-beginners/thread62358.html
Я извиняюсь...мне стыдно...но помогите...извините, что вас прошу мне решить лабораторку!!! но очень надо...я обещю что исправлюсь...просто ну ваще нету времени разбираться=( ПОМОГИТЕ решить 2 задачки на языке Си. Задача1 Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей (i-1≤k≤i+1, j-1≤l≤j+1, (k, l)≠(i,j)). Подсчитать количество...
C++ Зачем нужен конструктор? Всем доброго дня. Ребят такая проблема объясните мне на пальцах для чего нужен конструктор в классах. Я уже столько толмудов перерыл но однозначного ответа так и не нашел везде по разному пишут и через сопли. Зарнание спасибо. http://www.cyberforum.ru/cpp-beginners/thread62355.html
C++ В строках поменять местами первое и последнее слова
Ребята, помогите пожалуйста с задачами... язык С++ 1.Ввести 2 строки. В результате выполнения программы в обоих строках поменять местами первое и последнее слова. Строки до и после обмена вывести на экран. 2.Ввести 2 строки. В результате выполнения программы в первой строкеслово максимальной длины заменить на слово максимальной длины вторй строки. Строки до и после обмена вывести на экран.
Генератор псевдослучайных чисел. C++
Здраствуйте. Мне нужно сделать вот что "Написать генератор псевдослучайных чисел по алгоритму r = r * 4231 + 123457; Подсчитать частоты попадания в каждый из интервалов длиной 10000 при выборке 500000" В связи с этим возникли вопросы.Опишите пожалуйста,как работает rand() и srand(),а ещё лучше дайте пожалуйста ссылку,где всё это подробно описано.
C++ шаблонные строковые функции http://www.cyberforum.ru/cpp-beginners/thread62321.html
решил написать несколько строковых функций, так чтоб работали со строками разных типов вот одна из них делает поиск символа в строке, возвращает индекс или -1 если не найден template<class TYPE> inline SIZE_T str_find_symn(const TYPE* pSrc,TYPE& Symbol,SIZE_T Count){ SIZE_T Index; switch(sizeof TYPE){ case 1:
C++ Перевести с С на С++ Помогите пожалуйста перевести эти программы на С++ books_create.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include "book.h" /* Заполняет структуру Book_t */ Book_t createBook(void){ подробнее

Показать сообщение отдельно
m@shka
0 / 0 / 0
Регистрация: 17.10.2009
Сообщений: 12
10.11.2009, 22:41  [ТС]     Сортировка символьного массива
Поробую еще раз!!!

У нас есть какое-то слово, записанное в файле!!!
(в дан случае в файле ma.txt)

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

например слово привет
Матрица получится:

п р и в е т
р и в е т п
и в е т п р
в е т п р и
е т п р и в
т п р и в е

Это реализовано в данном коде:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include <string.h>
#include <windows.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
 
    FILE *fp;
    char d;
    int k=0;
    
    char W1[10][10];
    char *Xk=new char[];
    
    fp=fopen("ma.txt","r");
    while((d = fgetc(fp))!= EOF)
    {
        Xk[k]=d;
        cout<<d;
        k++;
    }
    fclose(fp);
 
    for (int i=0; i<k; i++)
{               
    W1[0][i]=Xk[i]; 
}
 
    int index=1;
    while (index<k)
{
    int par= -1;  
    int check=index - 1;
 
for (int j=0;j<k;j++) 
 { 
    check++;
   if (check<=k-1) 
    {
        W1[index][j]=Xk[check];
    }
    if (check>k-1)
    {  
       par++;
      W1[index][j]=Xk[par]; 
    }
  }
index++;
}
//вывод заполненного массива
//w1[][]
cout<<endl<<endl;
for (int i=0;i<k;i++)
{
 for (int j=0;j<k;j++)
 {
  cout<<W1[i][j]<<" "; 
 } 
  cout<<endl;
}
 
    return 0;
}
Добавлено через 11 минут
А что нужно дальше!!!!!!!!!
Чтобы именно Эту полученную матрицу со сдигом отсортировать СТРОКИ в алфавитном порядке по первому столбцу, если же встречаются в этом столбце одинаковые буквы, то смотреть что идет за ними(уже во втором столбце).

То есть если разобраться нужно по алфавиту расположить слова, которые расположеы в строках матрицы.

Например, если у нас слово каша
Построим матрицу со сдигом этого слова влево(программно реализовано... см. выше):

к а ш а
а ш а к
ш а к а
а к а ш

Нужно отсорироватьслова каша, ашак, шака и акаш.
Пернвыми будут слова на букву А .
Но их два: ашак и акаш, т.к. вторые буквы Ш и К, то первым должно стоять слово АКАШ, потому что К в алфавите раньше Ш.
Должна получится вот такая отсортированная матрица:

а к а ш
а ш а к
к а ш а
ш а к а

Надеюсь теперь понятней!!!
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru