|
![]() |
|
Опции темы |
![]() |
![]() |
Называейте меня просто
ГУРУ эго-форума
|
![]()
Здрасте, подскажите в Си оператор break во вложенном цикле может обрывать не только свой цикл, но и "верхний"? Гугл говорит, что нет, но может есть какие-либо заковырки? компилятор MS VS 2008.
Код:
do { printf("\nvxod\n"); for (int i=0; i<4;i++) { X[i]=B1[i]; for (int j=0;j<4;j++) X[i]=X[i]+A1[i][j]*Xn[j];//само приближенное вычисление } printf("\n"); for (int k=0;k<4;k++) { if (abs(X[k]-Xn[k])>0.0000001) //проверка погрешности; { f=0; for (int l=0;l<4;l++) { Xn[l]=X[l];//обновляются значени Xn(k) если не достигнута нужная точность } printf("\nnet\n"); break;//обрывает не только свой цикл но и do while??? } else {f=1; printf("\nvixod\n");} } } while (f=0); в этом куске кода по идее перед выходом из цикла do while должно быть четыре раза написано "vixod". Но не пишет ни разу. Один раз vxod, потом net и все, продолжается то что после do while. Прошу не критиковать оформление и тп (всякие штуки типа vxod, vvixod, net сделал для проверки какие места обрабатываются, а какие нет), сначала хочу сам алгоритм наладить, а потом заняться оформление и тд ![]()
__________________
|
![]() |
![]() |
![]() |
![]() |
новый эго-житель
Регистрация: 22.02.2012
Сообщений: 1
Репутация: 0![]() |
![]()
Ура!!! Наконец-то нашла уроки для начинающих, написанные нормальным языком! Спасибо автору!!!
|
![]() |
![]() |
![]() |
![]() |
новый эго-житель
Регистрация: 07.05.2012
Сообщений: 5
Репутация: 0![]() |
![]()
спасибо, очень доходчиво объясняете!
|
![]() |
![]() |
![]() |
![]() |
местный
|
![]()
я конечно сюда не по теме напишу, но хочется научится азам скриптописания. самые так сказать основы. ну и чуть чуть карму нащелкать в плюс если не жалко.
Добавлено через 6 часов 8 минут Я чего просил? а вы чего сделали? Вы! Лица с нетрадиционной сексуальной ориентацией!!!!
__________________
Ну что тут еще можно сказать? Всё уже сказано выше! |
![]() |
![]() |
![]() |
![]() |
новый эго-житель
Регистрация: 01.08.2012
Возраст: 24
Сообщений: 1
Репутация: 0![]() |
![]()
Здраствуйте, я написал первый урок в текстовом редакторе, но если чесно еще не начинал а только хочу начать изучение програмирования..
Можете обяснить что мне дальше делать.. Емм.. Более детально)) Спасибо. |
![]() |
![]() |
![]() |
![]() |
завсегдатай эго-форума
Регистрация: 09.07.2008
Адрес: Новосибирск и разные уголки России
Возраст: 32
Сообщений: 291
Репутация: 2116![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Если можно, дам ссылочку. Сам там азы познавал. Все ОЧЕНЬ понятно почти любому.
iguania.ru |
![]() |
![]() |
![]() |
![]() |
ГУРУ эго-форума
|
![]()
На известном трекере есть видео и лабораторный курс по С++
|
![]() |
![]() |
![]() |
![]() |
ГУРУ эго-форума
|
![]() |
![]() |
![]() |
![]() |
![]() |
завсегдатай эго-форума
Регистрация: 09.07.2008
Адрес: Новосибирск и разные уголки России
Возраст: 32
Сообщений: 291
Репутация: 2116![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Разбирал код функции интерполирующего поиска.
Код:
int interpolarSearch(int a[], int size, int key) { int mid, low = 0, high = size - 1; while(a[low] < key && a[high] >= key) { mid = low + ((key - a[low]) * (high - low)) / (a[high] - a[low]); if(a[mid] < key) low = mid + 1; else if(a[mid] > key) high = mid - 1; else return mid; } if (a[low] == key) return low; else return -1; } Тестил в таком варианте, ошибок не получил ни при каких значениях в рамках int. Подставлял значения в формулу, тоже все нормально. Это причуда автора или действительно есть ограничение, что в цикле a[low] != key ни в коем случае? |
![]() |
![]() |
![]() |
![]() |
новый эго-житель
Регистрация: 11.07.2006
Сообщений: 4
Репутация: 0![]() |
![]()
Согласен с вышесказанным. Сначала подумал, что это сравнение - a[low] == key - нужно для отлова ошибок, но нет, пользы в нем в итоге не нашел.
|
![]() |
![]() |
![]() |
Опции темы | |
|
|
Текущее время: 11:16. Часовой пояс GMT +6.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot