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

Структуры и функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ передача трёхмерного массива в функцию http://www.cyberforum.ru/cpp-beginners/thread261164.html
Необходимо передать СТАТИЧЕСКИЙ трёхмерный массива в функцию Почему-то на funct (int*** iArray) компилятор ругается. Может быть потому что от статический? Маccив выглядит так: int array Добавлено через 1 минуту P.S. Желательно его передать по указателю или ссылке, чтобы происходила максимально быстрая работа функции
C++ Развернуть массив, не используя дополнительные массивы и переменные Насколько я понял из условия, может быть только 1 цикловая переменная и 1 массив... Довольно долго думал над этим вопросом, так ничего дельного и не придумал.. Взято из ЕГЭ, С часть. http://www.cyberforum.ru/cpp-beginners/thread261147.html
C++ Все числа X с N-ым количеством неповторяющихся цифр
Доброе время суток. С Паскаля перехожу на C/C++ и по сути это первая задача которую мне предстоит решить. Задача: Ввести число N и вывести все N значные числа с разными цифрами тоесть, если N=1,то 0 1 2 3 4 5 6 7 8 9. Если N=2, то 10 12 13 14 15 16 17 18 19 20 21 23.....и тд. Вот в чем проблема, после Паскаля я всё ещё думаю по его логике. На Паскале эта задача бы решилась за 3 минуты, создаем...
Как правильно прервать/возобновить цикл C++
Такая вот проблема: есть часто встречающаяся функция ввода вещественного массива (как правило, большого). При вводе не цифры приходится все начинать сначала, то есть, необходимо ввести проверку на число. А затем, необходимо (если введено не число) , чтобы цикл возобновился. С проверкой разобрался, а вот как корректно возобновить цикл? void inputmas (float x , char im) { int i,j; cout <<...
C++ Многопоточность (вычисление корня квадратного уравнения, используя несколько независимых потоков) http://www.cyberforum.ru/cpp-beginners/thread261121.html
Уважаемые программисты! Сможет ли кто-нибудь хотя бы примерно объяснить, как реализовать, например, вычисление корня квадратного уравнения, используя несколько независимых потоков. Программа должна состоять из главного потока, принимающего с клавиатуры исходные данные и выводящего на экран результат, и нескольких служебных потоков, способных по отдельности выполнять элементарные ...
C++ многомерные массивы 1.Даны прямоугольные матрицы А та В размерностью NхM. Вычислить элементы матрицы С по формуле 2.Дана прямоугольная матрица А размерностью NхM. Распечатать суму элементов каждого столбца и каждой строки. подробнее

Показать сообщение отдельно
Iliabobr
3 / 3 / 1
Регистрация: 04.11.2009
Сообщений: 98
21.03.2011, 14:46     Структуры и функции
Чёт файйл не получается у меня подключить, и упорядочивание по возрастанию групп не работает
сам файл должен выглядеть так
"Bobryshev I A 3 4 5 5 4 3
Voronkov A D 2 3 4 3 1 3
Timopheev A R 4 1 4 5 3 3
Malinin S O 1 5 4 4 3 2
Dubinina K E 5 2 3 4 2 5
"
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
#include<fstream>
#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
const int maxlength = 50;
 
struct Student
{
    char sname[maxlength];
    char n;
    char o;
    int gr;
    int bal[5];
};
Student Enter()
{
    Student tp;
    cout<<"Sname= [Sname I O] "; 
    cin>>tp.sname>>tp.n>>tp.o;
    cout<<"Group= ";
    cin>>tp.gr;
    cout<<"Bal [5 ochenok]: ";
    for (int i=0; i<5; i++) cin>>tp.bal[i];
    return tp;
}
double Sred(Student st)
{
    double s =0;
    for(int i=0; i<5;i++) s+=st.bal[i];
    return s/5;
}
void Display(Student st)
{
    cout<<st.sname<<" "<<st.n<<". "<<st.o<<" "<<st.gr<<" ";
    for(int i=0;i<5;i++)
        cout<<st.bal[i]<<" ";
    cout<<"sred= "<<Sred(st)<<endl;
}
void Sort(Student *mas, int n)
{
    bool flag;
    do
    {
        flag=false;
        for(int i=1;i<n;i++)
        if (Sred(mas[i-1])>Sred(mas[i]))
        {
            Student zam = mas[i-1];
            mas[i-1]=mas[i];
            mas[i]=zam;
            flag=true;
        }
    }
    while(flag);
}
void Search(Student *mas, int n)
{
    bool srch=false;
    for(int i=0; i<n; i++)
    {
        bool flag=true;
        for(int j=0; j<5; j++)
            if (mas[i].bal[j]<4)
                flag=false;
            if (flag)
            {
                Display(mas[i]);
                srch=true;
            }
    }
    if (!srch)
        cout<<"No element"<<endl;
}
void FReadText(Student *mas, int n)
{
    char *fname=new char [50];
    cout<<"File name: ";
    cin>>fname;
    ifstream fin(fname);
    int i=0;
    while(!fin.eof() && i<=10)
    {
        fin>>mas[i].sname;
        fin>>mas[i].n>>mas[i].o;
        fin>>mas[i].gr;
        for(int k=0;k<5;k++)
            fin>>mas[i].bal[k];
        i++;
    }
    fin.close();
    n=i;
}
int main()
{
    int n;
    int menu;
    Student *mas=new Student [10];
    cout<<"1 - Keyboard"<<endl;
    cout<<"2 - File"<<endl;
    cin>>menu;
    if (menu==1)
    {
        cout<<"Enter data "<<endl;
        cout<<"n= ";
        cin>>n;
        if(n>10)
            n=10;
        for(int i=0; i<n;i++)
            mas[i]=Enter();
    }
    if (menu==2)
    {
        FReadText(mas,n);
    }
    cout<<"Output sort: "<<endl;
    Sort(mas,n);
    for (int i=0;i<n;i++)
        Display(mas[i]);
    cout<<"Search "<<endl;
    Search(mas,n);
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru