Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
-comrade-
357 / 358 / 167
Регистрация: 11.06.2010
Сообщений: 703
1

STL

05.12.2010, 12:06. Просмотров 735. Ответов 4
Метки нет (Все метки)

Всем привет
Задача следующая - Нужно считать из файла строки, запихнуть их в стек и вывести на экран, чтобы перед ними был номер (использовать возможности стандартной библиотеки шаблонов (STL))

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <fstream>
#include <iostream>
#include <stack>
#include <vector>
 
using namespace std;
 
int main()
{
    ifstream file("d:\\1.txt");
    stack <char*,vector<char*>  > S;
    char* str=new char[250]; int i=0;
    while(!file.eof()) { file.getline(str,250,'\0'); S.push(str); }
    file.close();
    while(!S.empty())  { str=S.top(); cout<<"  "<<++i<<": "<<str<<endl; S.pop(); }
    cout<<endl; 
    system("pause");
    return 1;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2010, 12:06
Ответы с готовыми решениями:

STL
Задача: сторонами треугольников и прямоугольников являются цветные (red,...

STL
Здравствуйте. Ребят пожалуйста решите 2 простенькие задачки, потратьте немного...

STL
Блин нарорд... я затупил по жоскому.... у меня std::vector, пытаюсь добавить...

STL
помогите сделать ввод ФИО и возраста через STL .Вот часть моего кода#include...

STL
Задача 2. Во входном файле in.txt расположена таблица, в каждой строке которой...

4
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
05.12.2010, 12:28 2
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
#include <fstream>
#include <iostream>
#include <stack>
#include <string> 
#include <algorithm>
 
using namespace std;
 
void _print( const string& str ){
  static int i =0;
  cout << ++i << ": " << str << endl;
}
 
int main()
{
    ifstream file("/home/alexxx/1.cpp");
    stack <string> S;
    string str;
    if( !file ){
      cout << "cant open file\n";
      return -1;
    }
    while(!file.eof()) {
      getline(file,str); 
      S.push(str); 
    }
    for( ;S.size();S.pop() ){
      _print( S.top() );
    }
    system("pause");
}
1
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
05.12.2010, 12:31 3
alex_x_x, это никсы или виндоуз?
/home/alexxx/1.cpp
и одновременно
system("pause");
0
alex_x_x
бжни
2455 / 1661 / 134
Регистрация: 14.05.2009
Сообщений: 7,162
05.12.2010, 12:43 4
lemegeton, ну я пример автора переделывал

Добавлено через 1 минуту
да ну и там с номерами строк вопрос
0
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
05.12.2010, 13:00 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
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <iomanip>
#include <algorithm>
 
using namespace std;
 
int main()
{
    ifstream file("a.txt");
    vector<string> V;
    string S;
    if (!file)
    {
        cout << "Cannot open file.\n";
        return 1;
    }
 
    while (!file.eof())
    {
        getline(file, S);
        V.push_back(S);
    }
 
    for (int i=0; i<V.size(); i++)
        cout << "Line N " << setw(3) << i << ": " << V[i];
 
    system("pause");
}
0
05.12.2010, 13:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2010, 13:00

STL.
Всем доброго времени суток. У меня имеется два вопроса. 1) У нас имется...

STL
std::vector&lt;char*&gt; files; Объясните пожалуйста как правильно заполнять такой...

STL в С++
Нужна помощь! Дана строка, состоящая из русских слов, разделенных пробелами...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru