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

Cортировка символьного двумерного массива по алфавиту - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано действительное число а, натуральное число N. Вычислить : P=a*(a-n)*(a-2*n)*...*(a-n^2) http://www.cyberforum.ru/cpp-beginners/thread102460.html
Решить прикладную задачу с помощью циклического вычислительного процесса. Дано действительное число а, натуральное число N. Вычислить : P=a*(a-n)*(a-2*n)*...*(a-n^2); Подскажите как правильно ее решить... //--------------------------------------------------------------------------- #include <vcl.h> #include <math.h> #include <iostream.h>
C++ Как в цикле обратится к каждой цифре заданного числа? Например, есть число 1234567890!!!! Как в цикле обратится к каждой цифре етого числа??? http://www.cyberforum.ru/cpp-beginners/thread102458.html
Поменять местами слова и удалить лишние пробелы C++
Ребят, помогите пожалуйста,у меня вот так задание С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки не должна превышать 70 символов). Имя файла должно иметь расширение DAT. Написать программу, которая: • Выводит текст на экран дисплея; • По нажатию произвольной клавиши поочередно выделяет в тексте заданные слова, которые...
C++ Выделить текст между запятыми из строки
Такая проблема есть како-то текст "Privet,kak dela, poka" надо выделить из него текст в запятых kak dela. помогите плиз с кодом
C++ вставка символа http://www.cyberforum.ru/cpp-beginners/thread102419.html
здрасти, как сделать чтобы в консоли отображался символ ®? делаю вот так CharToOem("знак ®",mes); отображается просто как R
C++ Два новых массива переходов через "0" имеется массив double x = { 0.2, -0.02, 0.6, 0.98, 0.5, -0.35, 1.5}; необходимо создать код, который создает заполняет два массива 1-й массив типа инт содержит номера элементов окружающих положительный переход через ноль : для данного массива int y = {2, 3, 6, 7}; 2-й массив типа double содержит значения по этим номерам для данного случая double z =... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
09.03.2010, 04:18     Cортировка символьного двумерного массива по алфавиту
  1. В 21 строчке забыла ")" перед ">0"
  2. Строки 14-24: ты здесь работаешь не со строкой, как нужно, а с отдельным символом, причем выходишь за границы массива (mas[i][20], тогда как второй индекс может принимать значения от 0 до 19). Здесь вместо отдельного символа нужно задавать строку mas[i], например
    C++
    1
    
    strcmp(mas[i], mas[i+1])
  3. Строки 22-24, надо поместить в фигурные скобки
  4. Вообще у тебя напутано с циклами for. Вот рабочий код:
    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
    
    #include <iostream>
    #include <string>
     
    int main()
    {
        setlocale (LC_ALL, "Russian");
            const  int k=4;
            char mas[k][20], n[20];
        for (size_t i=0; i<k; i++)
        {
            std::cout << "Введите mas[" << i << "]: ";
            std::cin >> mas[i];
        }
            for(size_t i=0; i<k-1; ++i)  
            if (strcmp(mas[i], mas[i+1])>0)
            {
                strcpy (n, mas[i+1]);
                strcpy (mas[i], mas[i+1]);
                strcpy (mas[i+1], n);
            }
     
        std::cout << "Отсортированный массив" << std::endl;
     
        for(size_t i=0; i<k; ++i, std::cout << std::endl)
            std::cout << mas[i];
        system("pause");
        return EXIT_SUCCESS;
    }
  5. Кстати, setlocale() позволит тебе, конечно, вывести строки в кириллице, но если ты попробуешь ввести русские буквы в строку, то при выводе этой строки будет не русский текст, а "кракозябры" (это справедливо, конечно, если ты в винде работаешь)
  6. Вот пример с использование контейнеров и алгоритмов STL:
    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
    
    #include <iostream>
    #include <vector>
    #include <string>
    #include <algorithm>
    #include <iterator>
    #include <functional>
     
    int main()
    {
        setlocale (LC_ALL, "Russian");
        std::vector<std::string> v;
        std::string temp;
        //Ввод продолжается до тех пор, пока не нажмешь "Ctrl+Z", потом "Enter"
        while(std::getline(std::cin, temp))
            v.push_back(temp);
     
        //Сортировка в алфавитном порядке
        std::cout << "Сортировка в алфавитном порядке:" << std::endl;
        std::sort(v.begin(), v.end());
        //Вывод отсортированного массива
        std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
        std::cout << std::endl;
        //Сортировка в обратном порядке
        std::cout << "Сортировка в обратном порядке:" << std::endl;
        std::sort(v.begin(), v.end(), std::greater<std::string>());
        //Вывод отсортированного массива
        std::copy(v.begin(), v.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
        system("pause");
        return EXIT_SUCCESS;
    }
 
Текущее время: 12:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru