Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 40
1

Удалить из массива все элементы,в записи которых все цифры различны.

02.10.2011, 07:23. Показов 1991. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят,помогите задачу решить:
в файле input.txt содержаться сведения о группе студентов в формате:
номер группы;
запись о каждом студенте группы содер сведения: фамилия, имя, отчество,год рожден, оценки по пяти предметам.
переписать данные в файл output.txt отсортировав их в алфавитном порядке по фамилии, имени, отчеству методом вставки

вот моя программа но я не знаю как применить мою сортитовку к файлу:

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
 
ifstream in("input.txt");
ofstream out("output.txt");
 
 struct array
{
    string name, surname, secondname;
    int num[5],year;
    string key;
    void print();
};
 
void array::print()
{
    out << setw(12) << left << surname  << setw(10) << name <<setw(15) << secondname;
    out << setw(5) << year;
    for (int i = 0; i  < 5; i++)
        out << setw(3) << num[i];
    out << setw(5) << key << endl;
}
 
void sort(array *a, int n)
{
    array temp;
    int i, j;
    for (i = 2; i <= n; i++)
    {
        j = i;
        while (a[j].key<a[j - 1].key)
        {
            temp = a[j];
            a[j] = a[j-1];
            a[j - 1] = temp;
            j--;
        }
    }
}
 
int main()
{
    int n=0;
    array stud[20];
    if(!in) cout << "eror";
    else
    {
     
      while(in.peek()!=EOF)
      {
        
        in>>stud[n].surname;
        in>>stud[n].name;
        in>>stud[n].secondname;
        in>>stud[n].year;
        for (int i=1; i<=5; i++) 
        {
            in>>stud[n].num[i];
        }
        n++;
      }
    sort(stud,n);
    for (int i=0; i<n; i++)
        stud[i].print();
}
in.close();
out.close();
system("pause");
return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.10.2011, 07:23
Ответы с готовыми решениями:

Удалить из массива все элементы,в записи которых все цифры различны.
дана последовательность целых чисел. Удалить из массива все элементы,в записи которых все цифры...

Удалить из целочисленного одномерного массива все элементы, в записи которых все цифры различны
Удалить из целочисленного одномерного массива все элементы, в записи которых все цифры различны. ...

Удалить из массива элементы, в записи которых все цифры различны
Удалить из массива элементы, в записи которых все цифры различны. (Желательно использовать вектора)

Удалить из массива все числа, у которых все цифры, встречающиеся в их записи, одинаковы
Дан массив целых положительных чисел a1, a2, …аN. Удалить из него все числа, у которых все цифры,...

3
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
02.10.2011, 10:35 2
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Вот полностью готовая программа, разберитесь
код
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
using namespace std;
 
struct Student  {
    char name[55];
    char group[55];
    float ses[5];
    float rat;
};
 
Student mas[2],x;
void stud();
void sort();
void rait();
void rait_2();
int read_file();
int prin_file();
 
void stud() {
    for(int i=0;i<2;i++)    {
        printf("                               Student %i",i+1," .");
        printf("\n SeName:  ");
        scanf("%s ",mas[i].name);
        printf(" Group:  ");
        scanf("%s",mas[i].group);
        printf("\n Ratting:\n");
        for(int j=0;j<5;j++)    {
            printf("%i.  ",j+1," ");
            scanf("%f",&mas[i].ses[j]);
        }
    }
}
 
void sort() {
    printf("                                Spisok.");
    for(int i=0;i<2;i++)    {
        for(int j=i;j<2;j++)    {
            if((mas[i].rat)>(mas[j].rat))   {
                x=mas[i];
                mas[i]=mas[j];
                mas[j]=x;
            }
        }
            printf("\n%i ",i+1);
            printf("SeName: %s\n",mas[i].name);
            printf("Group: %s\n",mas[i].group);
            rait_2();
            printf("S.bal: %.1f\n",mas[i].rat);
            /*for (int j=0; j<5; j++){
                printf("%.0f\n",mas[i].ses[j]);
            }*/
    }
    
}
void rait_2()   {
    int r;
    float s,m;
        for(int i=0;i<2;i++)    {
        m=0;s=0;
        for(int j=0;j<5;j++)    {
            s=s+mas[i].ses[j];
        }
        m=s/5; mas[i].rat=m;
    }
}
 
void rait() {
    int r;
    float s,m;
    printf("                                Session.\n");
    for(int i=0;i<2;i++)    {
        m=0;s=0;
        for(int j=0;j<5;j++)    {
            s=s+mas[i].ses[j];
        }
        m=s/5;
        if(m>4.0)   {
            r=+1;
            printf("\n Srednyi ball bol'she '4' y:  %s",mas[i].name);
            printf("\n");
        }
 
    }
    if(r==0)
        printf("\n\n Net studentov, nabravshih srednyi ball bol'she '4'.");
}
 
int read_file() {
    char fn[20];
    FILE* f;
    printf("\nEnter File name: ");
    scanf("\n%[^\n]",fn);
    f=fopen (fn,"r");
    if (!f) {
        printf("\nWarning: no such file. Using stdin.\n");
        f=stdin;
 
    }
    for (int i=0; i<2; i++) {
        fscanf(f,"%[^\t]\t%[^\t]\t %f %f %f %f %f\n", mas[i].name, mas[i].group,(&mas[i].ses[0]),(&mas[i].ses[1]),(&mas[i].ses[2]),(&mas[i].ses[3]),(&mas[i].ses[4]));
    }
    fclose(f);
    return 0;
}
 
int prin_file() {
    char fn[20];
    FILE* f;
    printf("\nEnter File name: ");
    scanf("\n%[^\n]",fn);
    f=fopen (fn,"w");
    if (!f) {
        printf("\nWarning: no such file. Using stdin.\n");
        f=stdin;
    }
    for (int i=0; i<2; i++) {
        fprintf(f,"\nSeName: %s\nGroup: %s\nS.bal: %.1f\nSsesion: \n%.0f\n%.0f\n%.0f\n%.0f\n%.0f",mas[i].name,mas[i].group,mas[i].rat,mas[i].ses[0],mas[i].ses[1],mas[i].ses[2],mas[i].ses[3],mas[i].ses[4]);
    }
 
    return 0;
}
 
int main()  {
    int result=0,result2=0,br=0;
 
    for(;result!=1;)    {
        int answer, n;
        printf("\n Stud. - Enter 1\n Info. - Enter 2\n Sess. - Enter 3\n File - Enter 4\n Exit. - Enter 0\n\n You answer: ");
        scanf("%i",&answer);
        switch(answer)  {
        case 1:{
            while ((result2!=1)&&!(br)) {
                printf("\n   Read:\n   File. - Enter 1\n   Cons. - Enter 2\n   Exit. - Enter 0\n\n You answer: ");
                scanf("%i",&n);
                switch(n){
                    case 1:{read_file();result2=0;break;}
                    case 2:{stud();result2=0;break;}
                    case 0:{br=1;break;}
                }
            }
            if (br) continue;
        case 2:{sort();result=0;break;}
        case 3:{rait();result=0;break;}
        case 4:{prin_file();result=0;break;}
        default:{exit(0);}
               }
        }
    }
}
1
0 / 0 / 0
Регистрация: 08.05.2011
Сообщений: 40
10.10.2011, 23:31  [ТС] 3
robert19, спасибо но мне кажется вы решили ее слишком сложно
0
29 / 29 / 7
Регистрация: 26.03.2010
Сообщений: 305
11.10.2011, 20:28 4
Ириска5, Возможно, за то сам))) немножко подредактируйте...
0
11.10.2011, 20:28
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.10.2011, 20:28
Помогаю со студенческими работами здесь

Удалить из массива все элементы, в записи которых есть заданная цифра
дан одномерный массив целых чисел заполненный случайным образом числами из промежутка удалить из...

Найти все четырехзначные числа, у которых все цифры различны
Найти все четырехзначные числа, у которых все цифры различны.

Найти все четырехзначные числа, у которых все цифры различны
4)Найти все четырехзначные числа, у которых все цифры различны.

Найти все трехзначные числа, в которых все цифры различны.
Помогите, пожалуйста, решить задачу в С++. Найти все трехзначные числа, удовлетворяющие условию:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как в curl узнать код статуса HTTP запроса. Коды состояния HTTP
bt_guru 23.01.2025
Коды состояния HTTP играют значимую роль в обеспечении эффективного взаимодействия между клиентами и серверами. При работе с веб-сервисами важно не только отправлять запросы, но и правильно. . .
Как сортировать вывод команды ls в Linux
bt_guru 23.01.2025
В операционной системе Linux команда ls является одним из наиболее часто используемых инструментов для просмотра содержимого директорий. При работе с файловой системой пользователи регулярно. . .
Как сделать POST запрос с помощью curl
bt_guru 23.01.2025
curl - это мощный инструмент командной строки позволяет отправлять и получать данные через различные протоколы, включая HTTP, HTTPS, FTP и множество других. Особенно полезным curl становится при. . .
Прокрутка в tmux с помощью мыши и клавиатуры
bt_guru 23.01.2025
Tmux представляет собой мощный терминальный мультиплексор, который позволяет пользователям создавать и управлять несколькими терминальными сессиями внутри одного окна. Одной из важнейших функций tmux. . .
Как проверить, содержит ли массив значение в JavaScript. Поиск в массиве
bytestream 23.01.2025
Эффективный поиск значений в массивах становится критически важным навыком для разработчиков, использующих JavaScript. Процесс поиска элементов в массиве может показаться простым на первый взгляд,. . .
Как удалить тег Git в удалённом репозитории (remote)
bytestream 23.01.2025
Одним из важнейших механизмов организации версий в Git являются теги, которые позволяют помечать определенные точки в истории проекта как значимые. Теги часто используются для маркировки релизов,. . .
Чем отличаются URL, URI и URN
bytestream 23.01.2025
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
Как центрировать div внутри другого div с помощью CSS. Управление расположением элементов в CSS
bytestream 23.01.2025
Позиционирование элементов играет ключевую роль в создании качественных и профессиональных интерфейсов. Одной из наиболее часто встречающихся задач является центрирование элементов на веб-странице,. . .
Что означают различные символы в синтаксисе PHP
bytestream 23.01.2025
PHP (Hypertext Preprocessor) представляет собой один из наиболее широко используемых языков программирования для веб-разработки, который обладает богатой и интересной историей развития. Изначально. . .
Способы клонирования объектов в JavaScript
bytestream 23.01.2025
В современной разработке на JavaScript работа с объектами является фундаментальной частью создания любого приложения. При манипуляции объектами часто возникает необходимость создавать их копии для. . .
Как проверить состояние чекбокса в jQuery. Как работать с чекбоксами
bytestream 23.01.2025
При разработке интерактивных веб-форм часто возникает необходимость программно определять состояние чекбоксов с помощью jQuery. Чекбоксы являются важными элементами пользовательского интерфейса,. . .
В чем отличие между INNER JOIN и OUTER JOIN. Объединение таблиц в SQL
bytestream 22.01.2025
В современных базах данных информация часто распределена между множеством взаимосвязанных таблиц, что делает операции объединения JOIN неотъемлемой частью работы с SQL. Эти операции позволяют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru