IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Сортировка записей, Си++
сообщение
Сообщение #1


Гость






В общем, вот само задание:
Написать и протестировать функции сортировки записей и поиска их по ключам для следующих методов: линейный выбор с обменом, бинарный поиск.
Запись имеет три поля, например, фамилия, имя, номер телефона. Иметь не менее 30 записей. Поиск - по любому ключу, задаваемому из меню.

Вот то, что я сделал:

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

class qwe
{
public:
char name[20];
char sirname[20];
char phone[7];
};

int main()
{
clrscr();
randomize;
int k;
qwe base[30];
for(int i=1;i<=30;i++)
{
for (k=1;k<random(10)+5;k++)
{
base[i].name[k]=char(random(25)+65);
base[i].sirname[k]=char(random(25)+65);
}
for (k=1;k<8;k++)
base[i].phone[k]=random(9);
}
getch();
}


Этот кусок программы должен заполнять базу данных: имя, фамилию и телефон. Имя и фамилия - случайный набор букв (заглавных латинских), телефон - случайная последовательность из 7 цифр. Где здесь ошибка?

Допустим, есть у меня эта база, а что дальше делать?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 104
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Вот, что я сделал:
 #include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

const int size = 20;
class qwe
{
public:
char name[size];
char sirname[size];
char phone[8];

qwe();
};
qwe :: qwe() {
int k;
for(k=0; k<random(10)+5; k++)
name[k]=char(random(25)+65);
name[k]='\0';
for(k=0; k<random(10)+5; k++)
sirname[k]=char(random(25)+65);
sirname[k]='\0';
for(k=0; k<7; k++)
phone[k]=char(random(10)+'0');
phone[7]='\0';
}
qwe base[30];
char ch[size];

void bubblename ()
{
for (int i=0; i<30; i++)
for (int j=0; j<30; j++)
if (strcmp(base[j].name,base[j+1].name)>0)
{
ch=base[j].name;base[j].name=base[j+1].name;base[j+1].name=ch;
}
};

void bubblesirname ()
{
for (int i=0; i<30; i++)
for (int j=0; j<30; j++)
if (strcmp(base[j].sirname,base[j+1].sirname)>0)
{
ch=base[j].sirname;base[j].sirname=base[j+1].sirname;base[j+1].sirname=ch;
}
};

void bubblephone ()
{
for (int i=0; i<30; i++)
for (int j=0; j<30; j++)
if (strcmp(base[j].phone,base[j+1].phone)>0)
{
ch=base[j].phone;base[j].phone=base[j+1].phone;base[j+1].phone=ch;
}
};

int main()
{
clrscr();
randomize;
for(int i=0; i<30; i++)
cout << base[i].name << " , " <<
base[i].sirname << " : " <<
base[i].phone << endl;
cout<<"\nBBeguTe napaMeTp (name - 1/sirname - 2/phone - 3): ";
if (getch=='1') bubblename() else if (getch=='2') bubblesirname() else bubblephone();
getch();
return 0;
}

Пока только сортировка. Где ошибка?


--------------------
go ask Alice
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 2.05.2024 4:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name