Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2010, 17:30   #1
Expelio
Пользователь
 
Регистрация: 24.03.2010
Сообщений: 11
По умолчанию Матрица. Удаление строки. Текстовый файл.

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

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

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

Код:
#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;
}
Expelio вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как текстовый файл в формате word 2007 переделать в файл в формате ZAY JULIA Microsoft Office Word 13 09.06.2010 19:43
Текстовый файл Gawwws Microsoft Office Excel 2 20.01.2010 21:42
Cи++, Текстовый файл. Diamond2107 Помощь студентам 7 07.12.2009 22:09
Текстовый файл. Строки. Не понятно условие Angelwood Паскаль, Turbo Pascal, PascalABC.NET 10 05.06.2009 16:29
Текстовый файл в текстовый массив Kimimaru Общие вопросы C/C++ 1 02.12.2007 11:55