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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2012, 22:10   #1
Марина2108
 
Регистрация: 10.05.2012
Сообщений: 5
По умолчанию Не сортирует по числам!

Помогите пожалуйста, не понимаю в чем дело!
по месяца и годам сортирует а по числам нет!
Код:
#include <iostream>
#include <string.h>
#include <iomanip>

using namespace std;
int main()
{
			
	
    const int n=8;
	int i, j;
	char search[15];
	struct znak
	{
		char name[50], zodiak[15];
		int birthday[3];
	};
	znak tab[n], k;
	for(i=0; i<n; i++)
	{
		cout<<"Name and Familiya: ";
		cin.getline(tab[i].name,50);
		cout<<"Znak Zodiaka: ";
		cin>>tab[i].zodiak;
		cout<<"Data Rogdeniay:"<<endl;
		cout<<"Day: ";
		cin>>tab[i].birthday[0];
		cout<<"Month: ";
		cin>>tab[i].birthday[1];
		cout<<"Year: ";
		cin>>tab[i].birthday[2];
		cout<<endl;
		cin.get();
	}
	for(i=0; i<n-1; i++)
	//for(j=0; j<n-1; j++)
	{
	if(tab[i].birthday[2]>tab[i+1].birthday[2])
	{
	k=tab[i];
	tab[i]=tab[i+1];
	tab[i+1]=k;
	}
	else 
		    if(tab[i].birthday[2]==tab[i+1].birthday[2])
			{
			if(tab[i].birthday[1]>tab[i+1].birthday[1])
			{
			k=tab[i];
			tab[i]=tab[i+1];
			tab[i+1]=k;
			}
			else
			
			if(tab[i].birthday[1]==tab[i+1].birthday[2])
			if(tab[i].birthday[0]>tab[i+1].birthday[0])
		    {
			k=tab[i];
			tab[i]=tab[i+1];
			tab[i+1]=k;
			}
			}
	}
	cout<<endl;
	
	
	for(i=0; i<n; i++)
		cout<<tab[i].name<<' '<<tab[i].zodiak<<' '<<tab[i].birthday[0]<<'.'<<tab[i].birthday[1]<<'.'<<tab[i].birthday[2]<<endl;
	cout<<endl; 
	cout<<"Найти: ";
	cin>>search;
	cout<<endl;
	j=0;
	for(i=0; i<n; i++)
		if(strstr(search, tab[i].zodiak))
		{
			cout<<tab[i].name<<' '<<tab[i].zodiak<<' '<<tab[i].birthday[2]<<'.'<<tab[i].birthday[1]<<'.'<<tab[i].birthday[0]<<endl;
j++;
		}
		if(j==0)cout<<"Запись не найдена"<<endl;
		system ("pause");
return 0;
}
Марина2108 вне форума Ответить с цитированием
Старый 12.05.2012, 22:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Предположу что:
Код:
for(i=0; i<n-1; i++)
 for(j=0; j<n-1; j++)	{
  if(tab[i].birthday[2]>tab[i+1].birthday[2] && tab[i].birthday[1]>tab[i+1].birthday[1] && tab[i].birthday[0]>tab[i+1].birthday[0])	{
 	k=tab[i];
 	tab[i]=tab[i+1];
	tab[i+1]=k;
  }
 }
Ибо сам код понять не смог...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.05.2012, 17:01   #3
Марина2108
 
Регистрация: 10.05.2012
Сообщений: 5
По умолчанию

немного не так , но вы мне подали идею!)
все исправила))
Марина2108 вне форума Ответить с цитированием
Старый 13.05.2012, 17:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что ж. Выпьем за девушек, которые умеют переидеять мужчин
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сумма чисел по числам ffedorenko Microsoft Office Excel 4 11.01.2012 18:44
не сортирует сразу 2 массива ashtone9130 Visual C++ 3 30.05.2011 11:03
сортирует фразу по алфавиту СИ, СИ++ Anapa Помощь студентам 1 18.02.2011 23:34
Гистограмма по числам из массива sokla Помощь студентам 1 06.01.2010 12:15
Сортировка по числам... ZuBy Общие вопросы Delphi 8 08.09.2009 07:08