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

можно ли сравнить все элементы одномерного массива с определенным значением посредством одной операции? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Builder Извлечь иконку с ехе-шника http://www.cyberforum.ru/cpp-beginners/thread854540.html
по-моему все перепутал =) подскажите пож, как правильно ... HMODULE hLib; void __fastcall TForm1::FormCreate(TObject *Sender) { hLib = LoadLibrary(TEXT("shell32.dll")); } void __fastcall TForm1::Button1Click(TObject *Sender)
C++ Работа с файлами. Считывание информации из файла в массив #include<conio.h> #include<stdio.h> struct add { char predmet; int klass; int kolvo; float cena; }; size_t count_lines(const char* filename) { http://www.cyberforum.ru/cpp-beginners/thread854539.html
Классы. Вывод на экран номеров рейсов(NUMR) и типов самолетов, вылетающих в пункт назначения(NAZN), название которого совпало с названием, введенным C++
#include "stdafx.h" #include <iostream> #include "locale.h" #include "string.h" using namespace std; // ограничивает пространство переменных функций и т.д. class AEROFLOT { char NAZN; float COST; // компоненты класса типа доступа private объекториентирпрог int NUMR; char TIP;
Посоветуйте статьи или книги где есть примеры собственных контейнеров C++
Интересуют именно те реализации в которых есть базовый класс контейнер и есть производный класс контейнер, обязательно чтобы была шаблонная реализация. Пример: Бинарное дерево поиска - шаблонный класс BinaryTree (В нём хранится корень этого дерева, который типа NodeBinaryTree) Сбалансированное бинарное дерево поиска - шаблонный класс BinaryBalanceTree, который наследует BinaryTree (В нём...
C++ Преобразование DWORD в string http://www.cyberforum.ru/cpp-beginners/thread854494.html
DWORD to string как сделать, гугл не помог) если что консоль visual studio c++
C++ В прямоугольной матрице выявить все строки,у которых максимальный элемент превосходит сумму остальных элементов строки Пожалуйста помогите кто может с задачей, не понимаю вообще это программирование.. Скоро последние сроки сдачи, а у меня ничего нет вообще.. Говорят задачи простые, но я хоть убей не понимаю..По паскалю более менее, а тут "темный лес" Очень прошу, помогите.. В прямоугольной матрице выявить все строки,у которых максимальный элемент превосходит сумму остальных элементов строки.. подробнее

Показать сообщение отдельно
KattyAlex
 Аватар для KattyAlex
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 26
03.05.2013, 18:50  [ТС]     можно ли сравнить все элементы одномерного массива с определенным значением посредством одной операции?
вот это мой код, который находится в процессе доработки и исправлений.
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
#include <iostream>
#include <string>
#include <time.h>
#include <stdlib.h>
using namespace std;
 
const int n_marks = 3;
const int n_index = 6;
const int n_indexx = 2; 
const int m = 6;
const int k = 6;
 
 struct Student
 {
    int course;
    std::string name;
    std::string surname;
    std::string patronymic;
    int marks[n_marks];
    int finances;
    float stipend[n_index]={938.496, 821.184, 703.872, 586.560, 357.600, 0 };
    int rating[m]={9, 8, 7, 5, 5, 5};
 
    Student(int i); 
    void print();
};
 
 Student::Student(int i)
{
    
 
    surname = "Surname_";
    surname.append(index);
    name = "Name_" ;
    name.append(index);
    patronymic = "Patronymic_";
    patronymic.append(index);
    
 
    for(int i=0;i<n_marks;i++){
        
        marks[i] = rand()%10+1; 
    }
    for(int i=0;i<n_indexx;i++){
        
        finances = rand()%2; 
    }
 
    int* kol = new int [k];
    for(int i=0; i<k; i++){
        kol[i]=0;
    }
/*здесь начинается моё "начисление" стипендии, где в массиве rating[m] находятся оценки, с которыми производится сравнение массива оценок студента marks[n_marks]. каждую оценку в массиве оценок студента мы сравниваем с нашей q-ой оценкой рейтинга и в kol[q-ом] мы подсчитываем количество оценок студента выше или равной нашей оценки rating[q]*/
    for(int q=0; q<m; q++){
        for(int i=0; i<n_marks; i++){
 
            if(marks[i]>=rating[q]) kol[q]++;
        }
}
/*т.о. получится, что мы теперь смотрим в kol[i-ом] количество оценок равных оценке rating[i], и в соответствии начисляем стипендию...   */
    for(int i=0; i<k; i++){
        if(kol[i]=n_marks) stipend[i];
        if((kol[5]<n_marks) && finances=1) stipend[5];
        if((kol[5]<n_marks) && finances=0) stipend[4];/*здесь мы начисляем соц. стипендию,студентам с оценками ниже 5, но с плохим финансовым положением*/
    }   
}
 
void Student::print()
{
        cout<< "Student: " << endl;
        cout << "       " << name << " " << surname << " " << patronymic << " "<<endl;
        cout << "       ";
        for(int i=0;i<n_marks;i++)
            cout<<marks[i]<< " ";
        
        cout << endl << "       " << finances <<endl;
        cout << endl << "       " << stipend <<endl;
}
//горе недосортировка :(
void sort(Student** arr, int n)
{
    for (int i=0;i<=n;i++)
    {
        for (int j=0;j<n-1;j++)
        {
            if(arr[j]->course < arr[j+1]->course)
            {
                Student* tmp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tmp;
            }
        }
    }
 
    for (int i=0;i<=1;i++)
    {
        for (int j=0;j<n-1;j++)
        {
            if( stipend[j]< stipend[j+1])
            {
                Student* tmp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tmp;
            }
        }
    }
 
}
 
void main()
{
 
    int n=3;
    
    Student** mas=new Student*[n];
    srand(time(NULL));
    for(int i=0;i<n;i++){
        mas[i] = new Student(i);
    }
 
    
    sort(mas, n);
    cout<<endl;
 
    for(int i=0;i<n;i++)
        mas[i]->print();
    system("pause");
}
 
Текущее время: 09:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru