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

Переделать программу по массивам структур - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Перед каждым знаком '=' вставить символ, стоящий за ним, если таковой имеется http://www.cyberforum.ru/cpp-beginners/thread906096.html
нужно написать программу, которая читает с клавиатуры строку символов, преобразует ее и выводит результат на дисплей... помогите , ( с объяснениями , хочу всё понять)
C++ Нужно подробно закомментировать каждую строчку) int a = {3, 5, 7, 1, 2, 3, 4, 5}; const int n = 8; cout<<"Massiv: "<<endl; for(int i = 0; i != n; ++i) cout<<a; int tmp = a; for(int i = n - 2; i > 1; --i) a = a; a = tmp; tmp = a; http://www.cyberforum.ru/cpp-beginners/thread906084.html
Принцип работы конструктора C++
Объясните пожалуйста на простом примере принцип работы конструктора в С++. Я сейчас начал их изучать и никак не могу въехать. Спасибо.
посмотрите. как сделать по таким пунктам : C++
как сделать по таким пунктам : 1.создать массив 2.выделить память 3.вызвать функцию 4.освободить память В матрице из действительных чисел поменять местами последний столбец со столбцом, содержащим наибольшее по абсолютной величине элемент матрицы.
C++ Как можно сделать авто генерацию хедер файла в VS2010 http://www.cyberforum.ru/cpp-beginners/thread906068.html
Задача такая нужно для каждого .cpp файла с функциями делать .h файл с прототипами всех функций которые содержаться в .cpp файле. Этот хедер файл нужен потом для того чтобы делать его инклуд в нужные части программы чтобы там были доступны все функции из .cpp файла Можно ли это как то сделать на Visual Studio 2010, надоело всю эту рутинную работу делать руками.
C++ файл, массив, мода и все на С++ Помогите решить задачу на С++ Помогите решить задачу на С++ Есть файл в нем 50000 чисел, числа от 0 до 90. Нужно считать данные в массив и найти наиболее часто повторяющиеся элементы (максимальный и минимальный). И соответственно вывести на экран. Вот начало кода: #include <io.h> #include <string.h> #include <sys\stat.h> #include <stdio.h> подробнее

Показать сообщение отдельно
Dima_1996
Сообщений: n/a
18.06.2013, 23:45     Переделать программу по массивам структур
Задание: Дана последовательность 16 отчётов о сдаче экзаменов, каждый отчёт состоит с фамилии ученика и 5 оценок. Найти последовательность учеников которые являются:
1)отличниками;
2)Студентами которые не имеют плохие оценки;
3)Успевающими, у которых средний бал за сесию не меньше 4.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
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
#include <iostream>
#include <vector>
#include <locale.h>
#include <stdlib.h>
#include <sstream>
#include <algorithm>
#include <ctime>
 
using namespace std;
 
typedef vector< int > vcOtmet;
typedef pair< string,vcOtmet > pair_Otchet;
 
bool sort_to_5 (pair_Otchet & pi,pair_Otchet pj)
{ 
    return ((pi.second)[4] < (pj.second)[4]); 
}                                                             
 
void myprint(vector<pair_Otchet>& vc, int indx)
{
    if(indx > 5)
        indx = 5;
    if(indx <= 0)
        indx = 1;
    int x = vc.size();
    cout << endl << endl;
    for(int i = 0; i < x; i++)
    {
        cout << ((vc[i]).first).c_str()<< "   " << indx ;
        cout << " в количестве - "<< ((vc[i]).second)[indx - 1] << endl;
    }
}
 
 
void main ( void )
{
        setlocale(LC_ALL, "");
    cout << "Проверка кодировки , не кракозябры ,все ок ."<< endl << endl;  
 
    vector<pair_Otchet> vcOtch;
    
    srand(time(NULL));
    for(int i = 0; i < 16; i++)
    {
        stringstream ss;
        ss << "Иванов_" << dec << i + 1;
        cout << " Отметки  " << ss.str() << "   ";
        vcOtmet vctemp;
 
        for(int ii = 0; ii < 5; ii++)
        {
            int x = rand() % 5 + 1;     
            cout << "  "<< dec << ii + 1 << " - " << x;
            vctemp.push_back(x);
        }
        vcOtch.push_back(make_pair(ss.str(),vctemp));
        cout << endl;
    }
 
    sort(vcOtch.begin(),vcOtch.end(),sort_to_5);
    myprint(vcOtch, 5 );
 
    system("pause");
}
Программа работает, но понять єтот код я вообще немогу
И в нём даже слова Struct нету!!
помогите пожалуйста!

Заранее спасибо

Добавлено через 1 минуту
Я сделал как должно примерно быть но программа неправельно работает

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
#include <iostream>
#include <clocale>
#include <conio.h>
using namespace std;
 
struct Student
{
 char name[30];
 int oc[30];
};
 
 
/*ФУНКЦИЯ ОБЕСПЕЧИВАЕТ ВЫВОД ДАННЫХ НА ЭКРАН*/
void ShowData(Student *M,int N)
{
 system("CLS");
 cout<<"Отличники          Сер. бал 4          Не имеющие плохих оценок"<<"/n /n";
 for (int i=0;i<N;i++)
  {
      for (int g=0;g<5;g++)
          if(M[i].oc[g]==5)
       cout<<M[i].name;
   if (((M[i].oc[1]+M[i].oc[2]+M[i].oc[3]+M[i].oc[4]+M[i].oc[5])/5)<4)
   cout<<M[i].name;
   for (int h=0;h<5;h++)
       if(M[i].oc[h]>=3)
           cout<<M[i].name;
  }
  cout<<endl;
}
 
 
/*ФУНКЦИЯ ЗАНОСИТ ДАННЫЕ В СТРУКТУРУ*/ 
void GetData(Student *M,int N)
{
 
 cin.ignore();
 for (int i=0;i<N;i++)
  {
   cout<<"/n";
   cout<<"Фамилия: ";cin.getline(M[i].name,30);
   cout<<"Введите оценки:  ";
   for(int j=0;j<5;j++)
   cin>>M[i].oc[j];
   cin.ignore();
  }
}
 
 
 /*ГЛАВНАЯ ФУНКЦИЯ*/
void main()
{
 system("CLS");
 setlocale(LC_ALL,"Russian");
    int N; cout<<"ВВЕДИ  N: ";cin>>N;
    Student *M=new Student[N]; //Динамическое выделение памяти под N структур
       GetData(M,N); //Занесение данных в структуры
       ShowData(M,N);
    delete []M; //Освобождение памяти
 system("PAUSE");
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru