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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2013, 06:50   #1
Студент27
 
Регистрация: 12.03.2013
Сообщений: 7
По умолчанию Не получается дописать программу

Задание программы: Пользователь вводит четыре строки, нужно отсортировать их по первой по алфавиту букве и вывести.
В общем у меня проблема в том, что у меня не получается вывести отсортированные строки.
Код:
#include <conio.h>
#include <iostream.h>
void sort(int*e, int n)
{
   int buf, min, l;
   for(int i=0; i<n; i++)
   { min=e[i];
   l=i;
   for(int j=i+1; j<n; j++)
   if(e[j]<min)
   { min=e[j];
   l=j;
   }
   if(l!=i)
   { buf=e[i];
   e[i]=e[l];
   e[l]=buf;
   }
   }
   }
void main()
{
 clrscr();
 char a[200];
 cout<<"‚ўҐ¤Ё бва®Єг * \n";
 cin>>a;
 char b[200];
 cout<<"‚ўҐ¤Ё бва®Єг b \n";
 cin>>b;
 char c[200];
 cout<<"‚ўҐ¤Ё бва®Єг c \n";
 cin>>c;
 char d[200];
 cout<<"‚ўҐ¤Ё бва®Єг d \n";
 cin>>d;
 char s[5];
 s[0]=a[0];
 s[1]=b[0];
 s[2]=c[0];
 s[3]=d[0];
 s[4]='\0';
 cout<<"ЏҐаўлҐ ЎгЄўл бва®Є: \n"<<s;
 cout<<"\n ‘®авЁа®ўЄ* ЇҐаўле ЎгЄў Ї® *«д*ўЁвг: \n";
 char z[5];
 int a2[200];
 for(int w=0; w<5 && s[w]!='\0'; w++)
 a2[w]=s[w];
 sort(a2,w);
 for(int q=0; q<w; q++)
 { z[0]=a2[q=0];
   z[1]=a2[q=1];
   z[2]=a2[q=2];
   z[3]=a2[q=3];
   z[4]='\0';
   cout<<z;}
   cout<<"\n";
  if(a[200]=z[0])
   cout<<"\n"<<a;
  if(b[200]=z[1])
    cout<<"\n"<<b;
   if(c[200]=z[2])
    cout<<"\n"<<c;
   if(d[200]=z[3])
    cout<<"\n"<<d;


 getch();
}
Исправьте пожалуйста или скажите что я делаю не так и как надо делать.

Последний раз редактировалось Stilet; 12.03.2013 в 09:25.
Студент27 вне форума Ответить с цитированием
Старый 12.03.2013, 09:26   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не удивительно. Тебе нужен массив строк: char s[4][200];
И процедура сортировки пузырьком.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.03.2013, 00:34   #3
Студент27
 
Регистрация: 12.03.2013
Сообщений: 7
По умолчанию

А можно немного по точнее?
Студент27 вне форума Ответить с цитированием
Старый 13.03.2013, 00:40   #4
Студент27
 
Регистрация: 12.03.2013
Сообщений: 7
По умолчанию

#include <iostream.h>
#include <conio.h>
void sort(int*a, int n)
{
int flag=0, buf;
while(flag==0)
{ flag=1;
for(int i=0; i<n-1; i++)
if(a[i]>a[i+1])
{ flag=0;
buf=a[i];
a[i]=a[i+1];
a[i+1]=buf;
}
}
}
void main()
{ clrscr();
char str1[200], str2[200], str3[200], str4[200];
cout<<"Vvedi 4 stroki \n";
cin>>str1;
cin>>str2;
cin>>str3;
cin>>str4;
char s[4][200];
s[0][0]=str1[0];
s[1][0]=str2[0];
s[2][0]=str3[0];
s[3][0]=str4[0];
s[4][0]='\0';
cout<<"ЏҐаўлҐ ЎгЄўл бва®Є: \n"<<s;
cout<<"\n ‘®авЁа®ўЄ* ЇҐаўле ЎгЄў Ї® *«д*ўЁвг: \n";
char z[5];
int a2[200];
for(int w=0; w<5 && s[w]!='\0'; w++)
a2[w]=s[w];
sort(a2,w);
for(int q=0; q<w; q++)
{ z[0]=a2[q=0];
z[1]=a2[q=1];
z[2]=a2[q=2];
z[3]=a2[q=3];
z[4]='\0';
cout<<z;}
s[0][0]=z[0];
s[1][0]=z[1];
s[2][0]=z[2];
s[3][0]=z[3];
s[4][0]='\0';
cout<<"\n"<<s;

getch();
}
Вот так что ли? Или всё равно что то не то?
Студент27 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дописать программу dimidze Общие вопросы C/C++ 16 12.12.2012 17:26
дописать программу Александрq Помощь студентам 7 08.11.2012 23:00
не получается дописать код С mobydick Общие вопросы C/C++ 7 22.10.2012 10:08
Нужно дописать Тетрис. Не получается. Mostransformer Паскаль, Turbo Pascal, PascalABC.NET 0 11.01.2012 20:05
Дописать программу на С++ до 23.07 insar Фриланс 6 20.07.2011 10:16