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

Файлы. Считать с файлового документа студентов с датой рождения,отсортировать по возрасту и записать... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти произведение ряда http://www.cyberforum.ru/cpp-beginners/thread823988.html
Задача предполагает применение оператора цикла for языка программирования С++.(без массивов!) Сложно кажется!!!
C++ Найти сумму ряда Задача предполагает применение оператора цикла while языка программирования С++.(Без массивов). Вообще интересная так задача!!Будьте добры,кому не сложно! http://www.cyberforum.ru/cpp-beginners/thread823983.html
C++ Циклические вычислительные процессы
Задача предполагает применение оператора цикла for языка программирования С++.(без массивов) Помогите плиз!!!
Создание и обработка списков C++
Даны натуральное число n, действительные числа а1,…, a2n. Получить: a1*a2n+a2*a2n-1+an*an+1. Написать программу на С++
C++ Структуры http://www.cyberforum.ru/cpp-beginners/thread823974.html
Помогите пожалуйста Такое вот задание: Заданы два массива записей, каждый из которых содержит фамилии и адреса сотрудников. Составленная программа должна перенести (в любом порядке) записи с двух массивов в третий, причем с двух одинаковых записей переносится только одна. Проблема в том чтобы сделать цикл который выводит с двух одинаковых записей одну что-то у меня не выходит...( Вот то что я...
C++ Скорость сравнений и присваиваний Доброго времени суток. Интересует вопрос: насколько примерно процесс сравнения двух элементов (напр. типа int) проходит быстрее, чем присваивание одному элементу значения другого. Что меняется, если сравниваются не переменные встроенных типов, а объекты определённых в программе классов? Спасибо. подробнее

Показать сообщение отдельно
Avicii
2 / 2 / 0
Регистрация: 01.12.2012
Сообщений: 123
01.04.2013, 00:24  [ТС]     Файлы. Считать с файлового документа студентов с датой рождения,отсортировать по возрасту и записать...
Спасибо,разобрался
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
#include <iostream>
#include <stdio.h>
using namespace std;
struct student {char fio [20];
                 int den;
                 int month;
                 int god;
                };
FILE *InFile, *OutFile;
int main()
{ int n=5;
  student gr[5],s;
    InFile=fopen ("ops.txt","rt");
    OutFile=fopen ("rez.txt","wt");
 for (int i=0;i<n;i++)
    fscanf(InFile,"%s %d %d %d\n",&gr[i].fio,&gr[i].den,&gr[i].month,&gr[i].god);
 fprintf (OutFile,"Po vozrasty\n");
  for (int i=0;i<n;i++)
        for (int j=0;j<n;j++)
            if (gr[i].god>gr[j].god) //сортировка по годам
            {
                s=gr[i];
                gr[i]=gr[j];
                gr[j]=s;
            }
    for(int i=0;i<n;i++)//сортировка по месяцам
        for(int j=0;j<n;j++)
            if (gr[i].god==gr[j].god)
            {
                 if(gr[i].month>gr[j].month)
                 {
                    s=gr[i];
                    gr[i]=gr[j];
                    gr[j]=s;
                 }
            }
    for(int i=0;i<n;i++)//сортировка по дням
        for(int j=0;j<n;j++)
            if (gr[i].god==gr[j].god && gr[i].month==gr[j].month)
            {
                 if(gr[i].den>gr[j].den)
                 {
                    s=gr[i];
                    gr[i]=gr[j];
                    gr[j]=s;
                 }
            }
for (int i=0;i<n;i++)
 fprintf(OutFile,"%s %d %d %d\n",gr[i].fio,gr[i].den,gr[i].month,gr[i].god);
return 0;
}
Все получается.

Добавлено через 36 минут
Еще есть один вопрос =)
Задача похожая,только работа с матрицей.Проблема в том что не считывает данные с фалйа,а берет какие-то левые,не не знаю в чем причина.
Данные исходного файла:
1.1 -2 3.5 -4 5
6.5 7 8 9.3 -10
11.4 12 -13 14 15.5
16 -17 18 -19 20.5
21 22.6 23 24 -25
26 27 28 29.3 -30
31.7 32 -33 34 -35
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
#include <iostream>
#include <stdio.h>
#include <cmath>
#include <stdlib.h>
using namespace std;
 
int main()
{int i,j;
 float a[5][7];
 FILE *fp,*fp1;
 fp=fopen("dat.txt","rt");
 fp1=fopen("rez.txt","wt");
 for (i=0;i<5;i++)
 {for (j=0;j<7;j++)
  {fscanf (fp,"%d ",&a[i][j]);
   if (a[i][j]%1==0)
       {a[i][j]=abs(a[i][j]);}
   if (!a[i][j]%1==0)
       {a[i][j]=round(a[i][j]);}
   fprintf (fp1,"%d ",a[i][j]);
  }
  fprintf (fp1,"\n");
 }
 
 fclose (fp);
 fclose (fp1);
 return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru