Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2011, 15:25   #1
МихаилБ
Пользователь
 
Регистрация: 25.06.2011
Сообщений: 11
По умолчанию Сортировка массива строк

Здравствуйте, я делаю подпрограмму для сортировки массива строк по К-ой литере в алфавитном порядке.
создал массив строк, написал подпрограмму, но массив сортироватся не хочет... помогите пожалуйста исправить код:
Код:
#include <iostream.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>

void sort()
{char b[5][10];
int t;
int k;
cout<<"vvedite # litery dlya sortirovki"<<endl;
cin>>t;
for(int i=0; i<5; i++)
for(int j=0; j<4; j++)
 {if (b[i][t] > b[i+1][t] )

 {k =b[i+1][10]; b[i+1][10] = b[i][10];
  b[i][10]=k;   } ;
 }
for (i=0; i<5; i++)
{cout<<b[i]<<endl;}
}

void main()
{
char a[5][10], h[10]; int i,o,t;

for (i=0; i<5; i++)
{
cout<<"vvod mas"<<i<<endl;
gets(a[i]);
}

for (i=0; i<5; i++)

{cout<<a[i]<<endl;}

cout<<"otsortirovat' dannie - 1"<<endl;
cin>>o;
switch(o)
{case 1:sort(); break;}
cin>>o;
}


Я думаю что ошибка кроется в самой подпрограмме..
вот фрагмент кода:

for(int i=0; i<5; i++)
for(int j=0; j<4; j++)
 {if (b[i][t] > b[i+1][t] )

 {k =b[i+1][10]; b[i+1][10] = b[i][10];
  b[i][10]=k;   } ;
 }
Но как и что именно исправить не могу понять.
помогите пожалуйста, заранее спасибо.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 26.06.2011 в 11:18.
МихаилБ вне форума Ответить с цитированием
Старый 25.06.2011, 19:40   #2
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Код:
#include <iostream>
using namespace std;

char *a[5];
void sort()
{
int t, i; char *k;
cout<<"vvedite # litery dlya sortirovki"<<endl;
cin>>t;
for(int i=0; i<5; i++)
for(int j=0; j<4; j++)
{if (a[j][t] > a[j+1][t] )

{k =a[j+1]; a[j+1] = a[j];
a[j]=k; }
}
for (i=0; i<5; i++)
{cout<<a[i]<<endl;}
}

void main()
{
char h[10]; int i,o,t;
for (i=0; i<5; i++)
{
a[i] = new char [10];
cout<<"vvod mas"<<i<<endl;
gets(a[i]);
}

for (i=0; i<5; i++)

{cout<<a[i]<<endl;}

cout<<"otsortirovat' dannie - 1"<<endl;
cin>>o;
switch(o)
{case 1:sort(); break;}
cin>>o;
for (i=0; i<5; i++)
delete[] a[i];}
Вот код полный. Где исправлено/добавлено - значит там были ошибки !
An1ka вне форума Ответить с цитированием
Старый 25.06.2011, 21:41   #3
МихаилБ
Пользователь
 
Регистрация: 25.06.2011
Сообщений: 11
По умолчанию

Большое спасибо, Вы меня очень выручили
МихаилБ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка массива/вектора строк boomeer Общие вопросы C/C++ 5 11.04.2011 19:42
сортировка массива строк. daruwanov Общие вопросы C/C++ 6 21.09.2010 19:57
сортировка массива строк в Си SpLIne Общие вопросы C/C++ 2 15.04.2010 16:17
Сортировка строк 2-мерного массива Mayday_007 Помощь студентам 1 04.04.2008 09:26
Сортировка массива строк StanPBH Помощь студентам 9 24.04.2007 00:34