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

Матрица, удаление строки в файле... - C++

Восстановить пароль Регистрация
 
Expelio
0 / 0 / 0
Регистрация: 16.03.2010
Сообщений: 23
29.03.2010, 17:28     Матрица, удаление строки в файле... #1
необходимо рандомно сформировать таблицу пар символов и сохранить в файл из этих пар символов только те, которые удовлетворяют условию:
буква-буква
цифра-буква
цифра-цифра
символ-цифра
буква-символ
после этого из текстового файла прочитать таблицу эту и сохранить в новый файл по приницу
буква-буква
цифра-цифра

Программу я написал, единственная проблема - в файл сохраняется вся таблица символов, причем если пара не удовлетворяют условиям вышеприведенным остается просто пустая строка, как мне эту строку вобще удалить ? Вобщем протестите прогу и посмотрите какой результат ))

я полагаю из отфильтрованной матрицы перед записью в файл, нужно удалить строки просто ненужные, помогите как это сделать, как будет выглядет код проги тогда ? HELP HELP HELP!=)))

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
#include "stdafx.h"
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <iomanip>
#include <ctype.h>
 
using namespace std;
 
int IsLetsDigs(int ch1, int ch2)
{
    ch1 = (unsigned char) ch1;
    ch2 = (unsigned char) ch2;
    
    if ((isalpha(ch1) && isalpha(ch2))
     || (isalpha(ch1) && isdigit(ch2))
     || (isdigit(ch1) && !isalpha(ch2))
     || (!isalpha(ch1) && isdigit(ch2))
     || (isalpha(ch1) && !isdigit(ch2)) )
        return 1;
    return 0;
}
 
int IsLetsDigs2(int ch11, int ch22)
{
    ch11 = (unsigned char) ch11;
    ch22 = (unsigned char) ch22;
    
    if ((isalpha(ch11) && isalpha(ch22))
     || (isdigit(ch11) && isdigit(ch22)))
        return 1;
    return 0;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{int i,j;
const int ROW=10;
 const int COL=2;
 char matr[ROW][COL];           
   int s;
   char ntable[] = "ab12!*";
s = sizeof ntable - 1;
   time_t t;
   srand(time(&t));
   srand (unsigned (time (NULL)));
 
   
 for (i=0; i<ROW; i++)                        
        { for (j=0; j<COL; j++)                 
            { matr[i][j]=ntable[rand()%(s-1)]; 
               cout << setw(6) << matr[i][j];
            }
      cout << endl;
  }
 
 
FILE* output=fopen("output.txt","w");
for (int i=0; i<ROW; i++)
{
for(int j=0; j<COL; j++)
if (1 == IsLetsDigs(matr[i][0],matr[i][1]))
{
fprintf(output,"%c %c", matr[i][j]);}
fprintf(output, "%c" ,'\n');
}
 
fscanf(output,"c");
FILE* input=fopen("input2.txt","w");
for (int i=0; i<ROW; i++)
{
for(int j=0; j<COL; j++)
if (1 == IsLetsDigs2(matr[i][0],matr[i][1]))
{
fprintf(input,"%c %c", matr[i][j]);}
fprintf(input, "%c" ,'\n');
}
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2010, 17:28     Матрица, удаление строки в файле...
Посмотрите здесь:

C++ удаление текста в бинарном файле
C++ удаление записи в бинарном файле
удаление "строки" в бинарном файле C++
матрица в файле C++
C++ Поиск, сортировка и удаление строки в txt файле
C++ Удаление строк в файле
Удаление пробелов в файле C++
Здесь есть удаление столбца, как добавить удаление строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 23:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru