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

Считывание одномерного массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Очень интересное определение функции http://www.cyberforum.ru/cpp-beginners/thread1183696.html
Доброго времени суток! сейчас собираю небольшую библиотечку - и наткнулся на очень интересный кусок кода: strtol (nptr, endptr, base) const char *nptr; char **endptr; int base; { ... начал читать спецификацию с11, с++11 - чето не могу найти объяснение увиденному - помогите кто чем сможет)) ну в смысле догадками - заранее спасибо
C++ Базовые операции с папками и файлами Определить текущий каталог. Выведите имя текущего каталога и родительского. Создайте свой каталог. скопируйте в него файл из родительского каталога, удовлетворяющий заданной маске. Выведете сведения о самом маленьком из скопированных файлов (имя, размер, временные параметры). Выведете его содержимое на консоль, использую CreateFile/ Кое что написала, а дальше никак не могу, может ли кто-нибудь... http://www.cyberforum.ru/cpp-beginners/thread1183681.html
Построить график функций C++
построить график функций
C++ Нет соответствия таблице виртуальных функций
Здравствуйте! Вот что мне выдает компилятор: build/Debug/GNU-Linux-x86/main.o: In function `Gunslinger::Gunslinger(char const*, char const*, int, float)': /home/drew/Документы/dev/c++/Stephen Prata/14.4_NB/Person.hpp:48: undefined reference to `vtable for Gunslinger' /home/drew/Документы/dev/c++/Stephen Prata/14.4_NB/Person.hpp:48: undefined reference to `vtable for Gunslinger'...
C++ Поиск заданной подстроки в строке (алгоритм Кнута-Морриса-Пратта) http://www.cyberforum.ru/cpp-beginners/thread1183665.html
Привет всем. Мне нужно написать программу поиска заданной подстроки в строке. Если подстрока есть - вывести YES. Если нет - NO. Задача называется Кнут-Моррис-Пратт, так что я понял, что нужно решить ее с помощью алгоритма КМП. Я прочитал о нем в интернете, но не могу понять,как реализовать его на практике. Покажите,если это вам не составит труда. Заранее спасибо.
C++ Обработка двумерного динамического массива Напишите программа буду очень благодарна =) Написать программу, в которой создаются динамические массивы и выполнить их обработку в соответствии со своим вариантом. 9. Сформировать двумерный массив. Добавить в него столбец с заданным номером; подробнее

Показать сообщение отдельно
Slavytuch
0 / 0 / 0
Регистрация: 29.09.2013
Сообщений: 76
21.05.2014, 17:39     Считывание одномерного массива
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
#include "stdafx.h"
#include "stdio.h"
#include <clocale>
#include <iomanip>
#include <fstream>
#include <string>
#include <iostream>
using namespace std;
 
class sotrydnik
{//класс содержит поля:
    //name - имя,surname - фамилия,number - рабочий номер
private:
    string surname;
    string name;
    int number;
public:
    string get_surname()
    {//получение фамилии сотрудника
        return surname;
    }
    string get_name()
    {//получение фамилии сотрудника
        return name;
    }
    int get_number()
    {//получение номера сотрудника
        return number;
    }
    void set_data(string newsurname, string newname, int newnumber)
    {
        surname = newsurname;
        name = newname;
        number = newnumber;
    }
    friend ifstream &operator >> (ifstream &inp, sotrydnik & one);
    friend ostream &operator << (ostream &out, sotrydnik one);
};
class members
{public:
    string name1;
    sotrydnik * comrade;
    int number_of_coverents;
    friend ifstream &operator >> (ifstream &inp, members &one);
    friend ostream &operator << (ostream &out, members one);
    int shortest_number()
    {
        int num = comrade[0].get_number();
        for (int i = 1; i < number_of_coverents;++i)
        if (comrade[i].get_number()<num)
            num = comrade[i].get_number();
        return num;
    }
    int* same_name()
    {
        int rez[5];
        int c = 0;
        for (int i = 0; i < number_of_coverents;++i)
        if (comrade[i].get_name() == name1)
        {
            rez[c++] = i;
        }
        c++;
        rez[c] = -1;
        for (int i = 0; i < c; ++i)
        {
            rez[i];
        }
        system("pause");
        return rez;
    }
 
};
 ifstream &operator >> (ifstream &inp, sotrydnik & one)
{
    string newsurname, newname;
    int newnumber;
    inp >> newsurname;
    inp >> newname;
    inp >> newnumber;
    one.set_data(newsurname, newname, newnumber);
    return inp;
}
 ostream &operator <<(ostream& out, sotrydnik one)
 {
     out << setw(10) << one.get_surname() << setw(10) << one.get_name() << setw(10) << one.get_number() << endl;
     return out;
 }
 
 ifstream &operator >> (ifstream &inp, members & one)
 {
     
     inp >> one.number_of_coverents;
     one.comrade = new sotrydnik[one.number_of_coverents];
     for (int i = 0; i < one.number_of_coverents; ++i)
     {
         inp>>one.comrade[i];
     }
     inp >> one.name1;
     return inp;
 }
 
 ostream &operator <<(ostream &out, members one)
 {
     for (int i = 0; i < one.number_of_coverents; ++i)
         out << one.comrade[i];
     return out;
 }
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    members Men;
    cout << "Начальные данные сотрудников:" << endl;
    int num, c = 0;
    string name1;
    ifstream read("C:\\Logan\\InputFile.txt");
    read >> Men;
    ofstream outp("C:\\Logan\\OutputFile.txt");
    cout << setw(10) << "Фамилия" << setw(10) << "Имя" << setw(10) << "Номер" << endl << endl;
    cout << Men;
    read.close();
    cout << "Самый котороткий рабочий номер = ";
    cout << Men.shortest_number();
    cout << "Фамилии сотрудников с именем " << name1 << ":" << endl;
    int *rez = Men.same_name();
    for (int i = 0; rez[i]!= -1; ++i)
        cout << Men.comrade[rez[i]].get_surname();
       system("pause>>end");
     
   return 0;
}
При выводе на экран массива в ф-ции same_names ничего не пишет, а при дальнейшей работе программы выходит вообще за пределы. Дин. массивы не хотят создаваться - выделяется не более 1 ячейки. Чё не так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru