помогите найти ошибку

Тема в разделе "Хард&Софт", создана пользователем 5unshine, 1 мар 2010.

  1. 5unshine

    5unshine Игрок

    #include <iostream.h>/*подключаем библиотеку потокового ввода-вывода*/

    #include <conio.h> /*подключаем библиотеку для дополнительных функций консоли*/

    #include<string.h> /*подключаем библиотеку для работы со строками*/

    const int len=21; /*максимальная длина фамилии-20символов*/

    struct date{int day; int month; int year;}; /*описываем структуру для данных о дате рождения*/

    struct students{ char fam[len]; char ini[10]; date dat;}; /*описываем структуру для хранения информации о студенте*/

    /*Прототипы используемых функций*/

    void input(students x[], int n);

    void output(students x[], int n);

    void request(students x[], int n);

    void sort_date(students x[], int n);

    void sort_name(students x[], int n);

    void main(){

    clrscr(); /*очищем экран*/

    const int N=20; /*максимальное количество элементов в массиве а*/

    students a[N]; /* инициализируем массив а, хранящий информацию о студентах*/

    int m; /*инициализируем реальное количсетво элементов массива*/

    cout<<"How many strings in table: "; /*приглашения на ввод количества элементов и далее считываем его с клавиатуры*/

    cin>>m;

    input(a,m); /*вызываем функцию ввода с клавиатуры массива а*/

    cout<<"Table is ready"<<"\n"; /*уведомлем пользователя о том что массив сформирован и выводим его на печать*/

    output(a,m);

    cout<<"\n";

    sort_date(a,m); /*вызываем функцию сортировки по дате рождения*/

    cout<<"Table sort"<<"\n"; /*уведомляем пользователя что массив отсортирован*/

    output(a,m); /*выводим массив на печать*

    cout<<"\n"<<"Students born in the spring: "<<"\n"; /*Выводим уведомление о студентах родившихся весной */

    request(a,m); /*вызываем функцию которая делает запрос о студентах родившихся весной*/

    getch(); /* ждем нажатия любой клавиши*/

    }

    void input(students x[], int n) /*функция ввода данных в массив */

    {

    for(int i=0; i<n;i++){

    cout<<"Family="; cin>>x.fam;

    cout<<"Ini="; cin>>x.ini;

    cout<<"Day="; cin>>x.dat.day;

    cout<<"Month="; cin>>x.dat.month;

    cout<<"Year=";cin>>x.dat.year;

    cout<<"\n";

    }

    }

    void output(students x[], int n){ /*функция вывода данных из массива */

    for(int i=0; i<n;i++){

    cout<<x.fam<<" "<<x.ini<<" ";

    cout<<x.dat.day<<"."<<x.dat.month<<"."<<x.dat.year<<"\n";

    }

    }

    void request(students x[], int n){ /*функция которая запрашивает в массиве все записи, месяцы которых удовлетворяют условию*/

    int ch=0;

    for(int i=0; i<n; i++){

    if((x.dat.month>2)&&(x.dat.month<6)){ /*если месяц рождения лежит в интервале от 2 до 6 то отправляем их на вывод*/

    cout<<x.fam<<" "<<x.ini<<" ";

    cout<<x.dat.day<<"."<<x.dat.month<<"."<<x.dat.year<<"\n";

    ch;

    }

    }

    if(ch==0) cout<<"No that students";

    }

    void sort_date(students x[], int n){ /*функция сортировки массивапо дате прождения*/

    int i,fl,m; /*инициализируем переменные*/

    students t;

    int m=n;

    do{

    fl=0; /*обнуляем флажок, который поможет проверить были ли изменения в массиве*/

    n--; /*уменьшаем количество пар*/

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

    if(x.dat.year<x[i+1].dat.year){ /*сравниваем даты рождения по годам*/

    t=x; /*тут и далее заменяем переменные*/

    x=x[i+1];

    x[i+1]=t;

    fl=1; /*если изменения были то флажку приравниеваем 1*/

    }else{

    if(x.dat.year==x[i+1].dat.year) /*если у нас совпадают года то просматриваем по месяцам*/

    if(x.dat.month<x[i+1].dat.month){

    t=x;

    x=x[i+1];

    x[i+1]=t;

    fl=1; }else{

    if(x.dat.month==x[i+1].dat.month) /*если свопадают по месяцам то сравниваем по дням*/

    if(x.dat.day<x[i+1].dat.day){

    t=x;

    x=x[i+1];

    x[i+1]=t;

    fl=1;}

    }

    }

    }

    while(fl==1);

    }

    void sort_name(students x[], int n){

    int i,fl;

    students t;

    do{

    fl=0;

    n--;

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

    if(strcmp(x.fam,x[i+1].fam)>0){

    t=x;

    x=x[i+1];

    x[i+1]=t;

    fl=1;}else{

    if(strcmp(x.fam,x[i+1].fam)==0)

    if(strcmp(x.ini,x[i+1].ini)>0){

    t=x;

    x=x[i+1];

    x[i+1]=t;

    fl=1;

    }

    }

    }

    while(fl==1);

    }
  2. Greedo

    Greedo Игрок

    вот она!!!!
    5unshine и like a boy нравится это.
  3. like a boy

    like a boy Игрок

    щюка, горжусь РоссГридой!
  4. salvador

    salvador Игрок

    ошибка в том, что ты ещё жив
    ты давно уже должен был умереть и тихо отпустить этот мир своей дорогой
  5. Valkyrie

    Valkyrie Заблокирован

    В ДНК?
  6. Apostol

    Apostol Игрок

    омг опять си....


    ошибку вижу, не скажу где, учись сам.
  7. Вот тут правильный вариант!
    >>>>>>>>>>>+>>
    Z
    **************************
    * Write tables to memory *
    **************************
    (Replace with own tables)

    Table 0
    ++++>>++++>>+++++>>+++

    >>>>>>+>> (Table separator)
    Table 1
    ++>>+++>>++++

    >>>>>>+>>
    Table 2
    ++++>>+++>>++

    *****************
    * End of tables *
    *****************

    [[<<]<<<<]<<<<<

    ****************************************
    * Parameter table (Fill with own code) *
    ****************************************

    (We are in address zero Put your own code here)

    Read (Z=No NZ=Yes)
    +

    > Table number (0 to 255)
    ++

    > Address in table (1 to 255)
    ++

    > Value (1 to 255)

    <<<
    **************************
    * End of Parameter table *
    **************************


    ********
    * Code *
    ********
    [[-] Read Y/N

    Copy table
    >[->>>+>>+<< <<<]>>>[-<<<+>>>]
    Copy Address
    <<[->>+>> >>>>+<<<< <<<<]>>[-<<+>>]
    >>

    Goto table X
    [-
    >>>>
    Move address number
    [->[>>]>>>+<<< <<[<<]>]
    Move table number
    <<<<[-> >>>>[>>]<+<[<<]<<<]

    >>>>>[>>]<
    ] End of goto

    >>>>

    Search address in current table

    [-[->>+<<]+>>]

    >
    [-<+> >+<]

    >[-<+>]<
    <
    -
    <<<<
    [->>>>

    [-<<+>>]

    <<<<<<
    ]
    >>>>
    [-<<+>>]<<

    Copy value to parameter table
    >-<
    [-
    <<<<<
    [[<<]<<<<]<<
    +
    >> >>>>>>
    [[>>]>>>>]
    <
    ]
    >+<
    <<<<<[[<<]<<<<]<<<<<
    ] End of Read Y/N

    ***************
    * End of Code *
    ***************
  8. 5unshine

    5unshine Игрок

    ye b [eqkj ds
  9. Valkyrie

    Valkyrie Заблокирован

    зато без ошибок в ДНК
  10. like a boy

    like a boy Игрок

    школьники такие школьники))))

    сколько звёзд на небе знаешь?
    да
    ну и сколько?
    а не скажу

    ))))