Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что означают << и >> в конкретном случае? https://www.cyberforum.ru/ cpp-beginners/ thread623619.html
Добрый день! Подскажите, пожалуйста, почему int x,y,z y=8 z=2 x=1 x=x+z<<2+z>>4
C++ Тригонометрия
КАК найти значение выражения arcsin (формула какая нибудь)
Блуждающая ошибка! F5- без ошибки, Ctrl+F5 - с вылетом! о как! C++
Компилятор вижуал студия 2010, Кидаете в компилятор, Добавляете через меню "Dobaviti studenta" один или два или три студента(столько раз надо запустить), сохраняем через пункт меню выходим А...
C++ Ветвление я начал учить с++, уже второй день........... написал алгоритм с ветвлением #include <stdio.h> #include <iostream.h> #include <conio.h> int main(int nNumberofArgs, char*pzArgs)... https://www.cyberforum.ru/ cpp-beginners/ thread623577.html
C++ Узнать запущена ли служба Windows https://www.cyberforum.ru/ cpp-beginners/ thread623576.html
Как узнать запущена ли оперделенная служба Windows, если конкретно служба управления подключениями удаленного доступа. Т.е моей программке находящейся в автозапуске нужно ждать покаместь служба не...
Вычисление среднего балла C++
Прошу, подскажите как можно реализовать следующее задание: вычислить средний балл по каждому студенту и по каждой дисциплине, количество задолженностей и количество задолженников по группе. Заранее...
C++ Каков синтаксис оператора <?( меньше )
Надо было написать программу, считывающую количество слов, которые пользователь хочет ввести, затем программа считывает каждое слово и потом выводит 3 наиболее часто встречающихся слов. Я решил...
C++ случайные числа rand() в VS имеет диапазон от 0 до 32768? даже изменение RAND_MAX ничего не повысит верхний уровень? https://www.cyberforum.ru/ cpp-beginners/ thread623509.html
C++ Разный доступ к элементам структуры через указатель https://www.cyberforum.ru/ cpp-beginners/ thread623504.html
Всем добрый вечер! Есть структура и два указателя на структуру. Первый указатель выделяет память для единичного значения а второй для массива. И вот в чем вопрос. Почему для обращения к элементам...
C++ Буфер обмена и jpeg Подскажите, пожалуйста, как в Win32 C++ получить из буфера обмена HBITMAP и сохранить его как jpeg файл со сжатием https://www.cyberforum.ru/ cpp-beginners/ thread623493.html
5471 / 4866 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
14.07.2012, 13:33 0

Не правильно работает код (отсортировать по алфавиту массив строк)

14.07.2012, 13:33. Просмотров 1635. Ответов 10
Метки (Все метки)

Ответ

Добавлено через 1 минуту
Цитата Сообщение от Sylar9 Посмотреть сообщение
я не могу понять как прервать ввод с помощью символа $, подскажите плиз очень нужно целый день сижу не фига в голову не лезит
Исправить, то, что я написал.
код
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
#include <iostream>
#include <string>
#include <locale.h>
using namespace std;
void bubbleSort(string*, int);
int main()
{
    setlocale(LC_ALL, "Rus");
    string str[100];
    int n = 0; 
    cout << "Введите строку, конец ввода символ $" << endl;
    for(int i=0; i<100; i++)
    {
        cin >> str[i]; 
        if(str[i] == "$") break;
        else ++n;
    }
    cout << "Массив до сортировки ...." << endl;
    cout << n << endl;
    for (int i=0; i<n; i++)
        cout << str[i];
    cout << "Массив после сортировки ...." << endl;
    bubbleSort(str, n);
    for (int i=0; i<n; i++)
    cout << str[i];
 
    system("pause");
    return 0;
}
 
void bubbleSort(string* arr, int size)
{
  string tmp;
  int i, j;
  for(i=0; i<size-1; ++i)
  {
    for (j=0; j<size-1; ++j)
    {
      if(arr[j+1] < arr[j])
      {
        tmp = arr[j+1];
        arr[j+1] = arr[j];
        arr[j] = tmp;
      }
    }
  }
}
.

Добавлено через 11 минут
Но программа у вас сортирует не массив строк, а слова.

Добавлено через 7 минут
Вот так, нормально будет:
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
#include <iostream>
#include <string>
#include <locale.h>
using namespace std;
 
void bubbleSort(string*, int);
 
int main()
{
    setlocale(LC_ALL, "Rus");
    string str[100];
    int n = 0; 
    cout << "Введите строку, конец ввода символ $" << endl;
    for(int i=0; i<100; i++)
    {
        
        getline(cin, str[i]);
        if(str[i] == "$") break;
        else ++n;
    }
    cout << "Массив до сортировки ...." << endl;
    cout << n << endl;
    for (int i=0; i<n; i++)
        cout << str[i] << endl;
    cout << "Массив после сортировки ...." << endl;
    bubbleSort(str, n);
    for (int i=0; i<n; i++)
    cout << str[i] << endl;
 
    system("pause");
    return 0;
}
 
void bubbleSort(string* arr, int size)
{
  string tmp;
  int i, j;
  for(i=0; i<size-1; ++i)
  {
    for (j=0; j<size-1; ++j)
    {
      if(arr[j+1] < arr[j])
      {
        tmp = arr[j+1];
        arr[j+1] = arr[j];
        arr[j] = tmp;
      }
    }
  }
}
Для прерывания ввода, в пустой строке ввести $.

Вернуться к обсуждению:
Не правильно работает код (отсортировать по алфавиту массив строк)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.07.2012, 13:33
Готовые ответы и решения:

Отсортировать массив из строк по алфавиту
1)Отсортировать массив из строк по алфавиту; С меня +++++++++ за каждую задачу!!!!З ...

Отсортировать массив строк по алфавиту. Учитывать только первый символ каждой строки
Задание: Отсортировать массив строк по алфавиту. Учитывать только первый символ каждой строки. ...

Дан массив из 4ех строк. Выдать на экран (для каждой строки) самое длинное слово и отсортировать эти слова по алфавиту.
Помогите, пожалуйста, с задачей. Дан массив из 4ех строк. Выдать на экран (для каждой строки) самое...

Отсортировать элементы массива строк по алфавиту
Понять задачу нужно) Я только начал проходить Паскаль ,Для изучения нашёл учебник , и там для...

10
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.