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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2012, 15:11   #1
gadir
Новичок
Джуниор
 
Регистрация: 08.11.2012
Сообщений: 4
По умолчанию two while loop problem

Здравствуйте,

У меня есть два больших текстовых файлов, и я хочу, чтобы сравнить 6. линии первого файла с 53. линии второго файла. мой первый файл состоит из 82 сигнала (каждый сигнал имеет 4102 линий). Но второй файл состоит из 20 сигналов (каждый сигнал имеет 63 линий). Мой первый вопрос: почему мой внешний контур не может цикла. это дает мне только первый 6.line первого файла (я должен увидеть 82-6.line с первого файла). Когда я сравниваю их линий (6., 53.), моя программа сравнивает только первые 6. строка первого файла в 53.lines второго файла. Я использую два цикла. Как будто внутренний цикл пока идет до конца, но внешний то время как цикл только один раз. Я хочу, чтобы сравнить каждую основан 6. линии первого файла в каждом основан 53.line второй. Что мне делать?

когда пропускаю код, результат:
0 0 число число
0 1 число число
0 2 число число
0 3 число число
....
0 20 число число

но я хочу увидеть:

0 0 число число
0 1 число число
0 2 число число
0 3 число число
....
0 20 число число
1 0 число число
1 1 число число
1 2 number number
1 3 число число
...
1 20 число число
и т.д


Цитата:
void main()
{

int i,j,loop,loopTPX,loopCAEN,f,m;;
double timeTPX, timeCAEN,time12;

string word;
string word1;
string word2;
string word3;
string word4;

ifstream inCAEN("testPu238Tpxclock0.1acqt0.1 CAEN.txt");
ifstream inTPX1 ("testPu238Tpxclock0.1acqt0.1.txt") ;
ifstream inTPX2("testPu238Tpxclock0.1acqt0.1 .txt.dsc");

loopTPX=0;
loopCAEN=0;

while(inCAEN!=NULL){

for(loop=0;loop<4096+7;loop++){
getline(inCAEN,word);

if(loop==5){
if(word.length()>19)
word1=word.substr(19,19);
timeCAEN=atof(word1.c_str());
loopCAEN++;
}
}

while(inTPX2!=NULL){
for(m=0;m<63;m++) {
getline(inTPX2,word4);
if(m==53) {
timeTPX=atof(word4.c_str());
printf("%d %d %f %f\n",loopCAEN, loopTPX,timeTPX,timeCAEN);
loopTPX++;

}
}
}
}

inTPX2.close();
inCAEN.close();

getch();

}
gadir вне форума Ответить с цитированием
Старый 08.11.2012, 15:13   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Do you speak Russian?
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 08.11.2012, 15:19   #3
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Do you speak Russian?
Obviously not.
gadir, i guess english would be more appropriate

Хотя если английский ему не родной язык, то врядли.
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 08.11.2012, 15:33   #4
gadir
Новичок
Джуниор
 
Регистрация: 08.11.2012
Сообщений: 4
По умолчанию

I have two text files and i want to compare 6. line of first file to 53. line of second file. my first file consist of 82 signal(each signal has 4102 lines ). But second file consists of 20 signals(each signal has 63 lines). My first question is why my outer loop can not loop. it gives me only first 6.line of first file(i must see 82 6.line from first file). when i compare their lines(6. and 53.), my program compares only first 6. line of the first file to 53.lines of second file. I use two while loop.As if inner while loop goes to the end but outer while loop only one time. I want to compare every founded 6. line of first file to every founded 53.line of second. What have i to do?
gadir вне форума Ответить с цитированием
Старый 08.11.2012, 15:36   #5
gadir
Новичок
Джуниор
 
Регистрация: 08.11.2012
Сообщений: 4
По умолчанию

если не понимаете меня тогда спросите еще раз. но помогите пожалуйста...
gadir вне форума Ответить с цитированием
Старый 08.11.2012, 16:34   #6
gadir
Новичок
Джуниор
 
Регистрация: 08.11.2012
Сообщений: 4
По умолчанию

Я решил уже эту проблему с помошью
inTPX2.clear();
inTPX2.seekg(0, ios::beg);
gadir вне форума Ответить с цитированием
Старый 08.11.2012, 16:37   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

моск плавится от первого поста.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с ошибкой.FOR-Loop variable 'i' may be undefined after loop Loadgame Помощь студентам 1 15.11.2011 23:08
Scrollbar problem WiseElrond C++ Builder 3 10.11.2011 20:21
Silverlight ProgressBar problem porfavof WPF, UWP, WinRT, XAML 1 28.07.2011 10:33
Try..except..problem Alex Cones Общие вопросы Delphi 6 29.06.2009 18:17