Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
10 / 10 / 1
Регистрация: 02.10.2011
Сообщений: 69
1

добавить в програму проверку

12.01.2012, 12:00. Показов 637. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть программа которые считывают из файла текст и выводит строки с двузначными элиментами, а надо чтоб выводил строки имено с цифрами содержащие двузначные элименты
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
#include <iostream>
#include <vector>
#include <fstream>
#include <string>
#include <sstream>
 
int main(){
  std::vector<std::string> matr;
  std::string tmp;
  std::ifstream fin("text.txt");
  while(!fin.eof()){
    getline(fin, tmp);
    matr.push_back(tmp);
  }
  for(size_t i = 0; i < matr.size(); ++i){
    tmp = matr[i];
    bool flag = false;
    std::istringstream ist(matr[i]);
    while(ist >> matr[i])
      if( matr[i].length() ==  2 ) flag = true;
    if(flag) std::cout << tmp << '\n';
  }
  return 0;
 
}
Добавлено через 22 минуты
исправять надо в строках 15-21
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2012, 12:00
Ответы с готовыми решениями:

Добавить проверку на невырожденность матрицы
вот код: // abal9.cpp: определяет точку входа для консольного приложения. // #include...

добавить проверку на целые числа
добрый! делаю перевод целых чисел из 10 в 16, вроде все гуд. но теперь нужно добавить проверку,...

Как добавить проверку на существование
Необходимо добавить проверку на существование треугольника. Что то вроде этого: double...

Добавить проверку на ввод ошибочных данных
Пожалуйста, помогите сделать так чтобы при вводе ошибочных данных выходил текст &quot;vveli nekorrektnie...

5
145 / 67 / 14
Регистрация: 30.12.2011
Сообщений: 137
12.01.2012, 12:06 2
Дык, проверить можно так:

C++
1
matr[i] > 9 && matr[i] < 100
0
10 / 10 / 1
Регистрация: 02.10.2011
Сообщений: 69
12.01.2012, 12:18  [ТС] 3
когда добавляешь выходит кучу ошибок, тк этож стринг переменная
0
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
12.01.2012, 14:15 4
Можно так... поэлегантнее что-то ничего не придумалось
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
using namespace std;
// ---------------------------------------------------------------------------
 
// ---------------------------------------------------------------------------
int _tmain( int argc, _TCHAR *argv[] )
{
    vector <string> matr;
    string tmp;
    ifstream fin;
 
    fin.open( "text.txt", ios_base::in );
    if ( fin.is_open( ) ) {
        cout << "file content:" << endl;
        while ( !fin.eof( ) ) {
            getline( fin, tmp );
            matr.push_back( tmp );
            cout << tmp << endl;
        }
        fin.close( );
 
        cout << endl << "2-sign numbers:" << endl;
        for ( size_t i = 0; i < matr.size( ); ++i ) {
            if ( matr[i].length( ) == 2 &&
                    isdigit( matr[i].c_str( )[0] ) &&
                    isdigit( matr[i].c_str( )[1] ) ) {
                cout << matr[i] << endl;
            }
        }
    }
    else {
        cout << "file open failed" << endl;
    }
    system( "pause" );
    return 0;
}
// ---------------------------------------------------------------------------
Вывод программы
file content:
2
32
666
35
ряЁ
hg
kl
12
hyt
18kl

ы7
0
00

2-sign numbers:
32
35
12
00
Для продолжения нажмите любую клавишу . . .
1
10 / 10 / 1
Регистрация: 02.10.2011
Сообщений: 69
12.01.2012, 18:28  [ТС] 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
using namespace std;
// ---------------------------------------------------------------------------
 
// ---------------------------------------------------------------------------
int _tmain( int argc, _TCHAR *argv[] )
{
    vector <string> matr;
    string tmp;
    ifstream fin;
 
    fin.open( "text.txt", ios_base::in );
    if ( fin.is_open( ) ) {
        cout << "file content:" << endl;
        while ( !fin.eof( ) ) {
            getline( fin, tmp );
            matr.push_back( tmp );
            cout << tmp << endl;
        }
        fin.close( );
 
        cout << endl << "2-sign numbers:" << endl;
        for ( size_t i = 0; i < matr.size( ); ++i ) {
            if ( matr[i].length( ) == 2 &&
                    isdigit( matr[i].c_str( )[0] ) &&
                    isdigit( matr[i].c_str( )[1] ) ) {
                cout << matr[i] << endl;
            }
        }
    }
    else {
        cout << "file open failed" << endl;
    }
    system( "pause" );
    return 0;
}
// ---------------------------------------------------------------------------
выводит ошибку: error C2061: синтаксическая ошибка: идентификатор "_TCHAR"

Добавлено через 16 минут
всё, спасибо за помощь, сделал) тока чуть по другому вот так
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
#include <iostream>
#include <vector>
#include <fstream>
#include <string>
#include <sstream>
using namespace std; 
int main(){
  std::vector<std::string> matr;
  std::string tmp;
  std::ifstream fin("text.txt");
  while(!fin.eof()){
    getline(fin, tmp);
    matr.push_back(tmp);
  }
  for(size_t i = 0; i < matr.size(); ++i){
    tmp = matr[i];
    bool flag = false;
    std::istringstream ist(matr[i]);
    while(ist >> matr[i])
      if ( matr[i].length( ) == 2 &&
       isdigit( matr[i].c_str( )[0] ) &&
       isdigit( matr[i].c_str( )[1] ) ) {
          std::cout << tmp << '\n';
                        }
                }
        system( "pause" );
        return 0;
}
// ---------------------------------------------------------------------------
0
4043 / 2332 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
12.01.2012, 18:33 6
Цитата Сообщение от Dima249 Посмотреть сообщение
выводит ошибку: error C2061: синтаксическая ошибка: идентификатор "_TCHAR"
Всего-то и надо, что заменить
C++
1
int _tmain( int argc, _TCHAR *argv[] )
на
C++
1
int main()
Но это я так, к слову... Знаете одну из смешных заповедей программиста? Работает - не трожь!
0
12.01.2012, 18:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2012, 18:33
Помогаю со студенческими работами здесь

Модифицировать программу (добавить деструктор и проверку на отрицательные значения)
1)Добавить деструктор 2)Добавить проверку на минус(отрицательные значения). #include&lt;cstdlib&gt;...

Время выполнения программы увеличивается, если добавить проверку
я написал программу на перебор цикла из массива. И время её выполнения в данном примере занимает ...

Подскажите, как добавить проверку на ввод букв? код внутри
чтобы при вводе буквы выдавало ошибку и просило заново ввести число #include &lt;stdio.h&gt; #include...

Std::set, как добавить собственную проверку уникальности для класса?
Сразу к делу class Doc { public: Doc(){} ~Doc(){} std::wstring name; int id;


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru