лаба на с++
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
лаба на с++ - 2007-11-12 12:01:17.670000
|
|
|
klop4ik
Сообщений: 13
Оценки: 0
Присоединился: 2007-11-09 12:54:22.190000
|
прога работает не так как надо, никак не могу отыскать ошибку. смысл в том, что идёт поиск элемента массива rules, равный элементу str,при положительном "исходе" найденное печатается и поиск продолжается, пока не будет пустого элемента в rules. проблемные участки написаны в комментариях. //////////////3.txt//////////////////////// signal_net abonent_net_otveta signal_otcutstvuet telephon_otkluchen abonent_net_otveta zvonok_nevozmogen zvonok_nevozmogen signal_otcutstvuet telephon_v_dome abonent_ne_prinimaet_zvonok telephon_otkluchen telephon_v_dome //////////////////////////////////////// #include<stdio.h> #include<conio.h> #include<string.h> #include<stdlib.h> void main(void) { char rules[6][100],str[6][100],strrules[100]="",string[100]=""; FILE*file=fopen("3.txt","r"); for(int i=0;i<6;i++) { fgets(strrules,100,file); for(int j=0;j<100;j++)rules[j]=strrules[j]; printf("%s",rules); fgets(string,100,file); for(int j=0;j<100;j++)str[j]=string[j]; printf("%s",str); } printf("\n%s",rules[0]); printf("%s\n",str[0]); int k=0,j=0; A: for(k=0;k<6;k++) { if(str[j]==rules[k])//при одинаковых значениях не определяет как одинаковые { printf("%s %s\n",rules[k],str[k]); j=k; goto A; } else if(rules[k]==NULL)//при пустом значении не определяет как пустое { fclose(file); break; } } getch(); }
|
|
|
RE: лаба на с++ - 2007-11-12 13:04:29.666666
|
|
|
spi
Сообщений: 11
Оценки: 0
Присоединился: 2007-11-01 11:33:20.090000
|
Приведенный выше код вообще не будет компилироваться. Массив rules и str объявлены двухмерными, а при присваивании значений элементам - код для одномерного массива.
//skip
for(int j=0;j<100;j++)rules[j]=strrules[j];
printf("%s",rules);
fgets(string,100,file);
for(int j=0;j<100;j++)str[j]=string[j];
//skip
Далее, аналогично:
if(str[j]==rules[k])//при одинаковых значениях не определяет как одинаковые
Сравнение не будет работать, т.к. массив str двумерный и требует указания двух индексов:
|
|
|
RE: лаба на с++ - 2007-11-12 16:17:44.846666
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
klop4ik, учись пользоваться тегом code… без него довольно-таки затруднительно адекватно запостить текст программы.
|
|
|
|
|