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

Строки. Составить программу сортировки массива строк, введенных пользователем. - C++

Восстановить пароль Регистрация
 
orlitsia
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 12
28.11.2012, 18:02     Строки. Составить программу сортировки массива строк, введенных пользователем. #1
Составить программу сортировки массива строк, введенных пользователем. Использовать функцию strcmp ().
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 18:02     Строки. Составить программу сортировки массива строк, введенных пользователем.
Посмотрите здесь:

C++ Написать программу дополняющую в файл D:\numbers.txt пять введенных пользователем целых чисел
нужно написать программу которая будет вместо введенных пользователем чисел, выводить* C++
Написать программу, использующую стандартную функцию сравнения строк для определения среди трех строк, вводимых пользователем, одинаковых. C++
Составить программу сортировки одномерного числового массива от начала массива к элементу с заданным номером по убыванию (методом выбора) C++
Составить программу сортировки массива строк по длине строки C++
Составить программу сортировки массива строк по длине строки C++
C++ Введение массива пользователем и подсчет введенных элементов
Строки. Сравнения первых двух половин введенных строк C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_Alexander
12 / 12 / 1
Регистрация: 05.11.2012
Сообщений: 49
28.11.2012, 23:34     Строки. Составить программу сортировки массива строк, введенных пользователем. #2
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
#include <iostream>
#include <string>
 
using namespace std;
 
void sort(char ** str, int len)
{
    char * temp = NULL;
    int l;
    for(int i=0;i<len-1;i++)
        if(strcmp(str[i],str[i+1])>0)
        {
            
            temp = new char[strlen(str[i])+1];
            strcpy(temp,str[i]);
            delete [] str[i];
 
            str[i] = new char[strlen(str[i+1])+1];
            strcpy(str[i],str[i+1]);
            delete [] str[i+1];
 
            str[i+1]=new char[strlen(str[i])+1];
            strcpy(str[i+1],temp);
            delete [] temp;
        }
}
 
void main()
{
    int len = 3;
    char a[256];
    char ** str = new char*[len];
    for(int i=0;i<len;i++)
    {
        cin.getline(a,256);
        str[i] = new char[strlen(a)+1];
        strcpy(str[i],a);
    }
 
    sort(str,len);
    for(int j=0;j<len;j++)
        cout<<str[j]<<endl;
        
    for(int j=0;j<len;j++)
        delete [] str[j];
    system("PAUSE");
 
}
я представляю себе это так)
booker
 Аватар для booker
23 / 23 / 2
Регистрация: 21.11.2012
Сообщений: 106
29.11.2012, 00:11     Строки. Составить программу сортировки массива строк, введенных пользователем. #3
с самопальной strcmp()
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
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
const int DAYS = 7;             //number of pointers in array
 
void bsort(char**, int);       //prototype
 
 
 
int main()
   {                            //array of pointers to char
   char* arrptrs[DAYS] = {"Sunday", "Monday", "Tuesday",
               "Wednesday", "Thursday",
               "Friday", "Saturday"};
      
   for(int j=0; j<DAYS; j++)    //display every string
   cout << arrptrs[j] << endl;
   cout<<endl;
      
   bsort(arrptrs,DAYS);
 
    for(int j=0; j<DAYS; j++)    //display every string
      cout << arrptrs[j] << endl;
 
 
  system( "pause");
   return 0;
 
   
   }
 
 
void bsort(char** ptr, int n)
   {
   void order(char**, char**);      //prototype
   int j, k;                    //indexes to array
 
   for(j=0; j<n-1; j++)         //outer loop
      for(k=j+1; k<n; k++)      //inner loop starts at outer
   order(ptr+j, ptr+k);         //order the pointer contents
   }
//--------------------------------------------------------------
void order(char** day1, char** day2)  //orders two numbers
   {
      char *temp1 = *day1;
      char *temp2 = *day2;
      while(*temp1||*temp2)
      {
      int a = static_cast<int>(*temp1);
      int b = static_cast<int>(*temp2);
      
      if(a>b)
      { 
         char*temp=*day1;
         *day1=*day2;
         *day2=temp;
         break;
      }
      
      if(a<b)
          break;
      else
      *temp1++;*temp2++;
}
}
Yandex
Объявления
29.11.2012, 00:11     Строки. Составить программу сортировки массива строк, введенных пользователем.
Ответ Создать тему
Опции темы

Текущее время: 01:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru