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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
#1

удаление повторяющихся строк.исправить программу - C++

23.05.2013, 08:56. Просмотров 838. Ответов 0
Метки нет (Все метки)

помогите исправить программу. задание: В магазине сформирован список постоянных клиентов, который включает ФИО, домашний адрес покупателя и размер предоставляемой скидки. Удалить из этого списка все повторяющиеся записи, проверив ФИО и домашний адрес покупателя.
не работает та часть, где нужно удалить повторяющиеся записи и вывести остальные. заранее огромное спасибо
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
 #include<iostream.h>
#include<string.h>
int main(){
struct strc{
char fio[40];
char adr[20];
int ski;
double sb; } mstud[20];
int nst,i,j;
cout<<"VV kol-vo pokupatelei"<<endl;
cin>>nst;
for(i=0;i<nst;i++){
cout<<"VV FIO";
cin>>mstud[i].fio;
cout<<"VV adres.";
cin>>mstud[i].adr;
cout<<"VV razmer skidki";
cin>>mstud[i].ski;
cout<<endl;}
strc stemp;
 int k;
for(i=0;i<nst-1;i++)
for(j=i+1;j<nst;j++)
if(mstud[i].fio==mstud[j].fio
&& mstud[i].adr==mstud[j].adr) {
for(k=i;k<nst-1;k++){
mstud[k].adr=mstud[k+1].adr;}
j=i+1}
}
 
for(i=0;i<nst;i++)
cout<<mstud[i].fio<<" "<<mstud[i].adr<<" "
<<mstud[i].ski<<endl;}
 
return 0; }
Добавлено через 4 часа 58 минут
вот в таком виде она начала работать, но не работает фрагмент удаления одинаковых строк.
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
#include<iostream.h>
#include<string.h>
int main(){
struct strc{
char fio[40];
char adr[20];
int ski;
double sb; } mstud[20];
int nst,i,j;
cout<<"VV kol-vo pokupatelei"<<endl;
cin>>nst;
for(i=0;i<nst;i++){
cout<<"VV FIO";
cin>>mstud[i].fio;
cout<<"VV adres.";
cin>>mstud[i].adr;
cout<<"VV razmer skidki";
cin>>mstud[i].ski;
cout<<endl;}
strc stemp;
 int k;
for(i=0;i<nst-1;i++)
for(j=i+1;j<nst;j++)
if(mstud[i].fio==mstud[j].fio
&& mstud[i].adr==mstud[j].adr) {
for(k=i;k<nst-1;k++){
mstud[k]=mstud[k+1];}
}
 
 
for(i=0;i<nst;i++)
cout<<mstud[i].fio<<" "<<mstud[i].adr<<" "
<<mstud[i].ski<<endl;
 
return 0; }
вот этот фрагмент:
C++
1
2
3
4
5
6
7
8
 int k;
for(i=0;i<nst-1;i++)
for(j=i+1;j<nst;j++)
if(mstud[i].fio==mstud[j].fio
&& mstud[i].adr==mstud[j].adr) {
for(k=i;k<nst-1;k++){
mstud[k]=mstud[k+1];}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2013, 08:56     удаление повторяющихся строк.исправить программу
Посмотрите здесь:

C++ Удаление повторяющихся слов из стоки на C
удаление повторяющихся точек C++
Удаление повторяющихся символов C++
C++ Удаление повторяющихся символов
C++ Удаление повторяющихся элементов из списка
C++ Удаление повторяющихся символов массива
Удаление повторяющихся элементов в векторе C++
C++ Удаление повторяющихся символов
Удаление из вектора повторяющихся элементов C++
Удаление повторяющихся чисел C++
Поиск повторяющихся символов в тексте и удаление таких строк C++
Удаление повторяющихся значений в списке C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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