Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Puhnastik
0 / 0 / 0
Регистрация: 12.11.2013
Сообщений: 5
#1

Поменять строки местами - C++

06.12.2013, 23:56. Просмотров 249. Ответов 1
Метки нет (Все метки)

Меня интересует такой вопрос, вот это неправильный отрывок кода.
C++
1
2
3
4
5
6
7
8
...
while (a!=NULL)
 {
     puts(a);
     a=strtok(NULL," ");
     if (strlen(a)==5) kolvo++;
 }
...
А если я поменяю местами строчки, например
C++
1
2
3
4
5
6
7
8
...
while (a!=NULL)
 {
     if (strlen(a)==15) kolvo++;
     puts(a);
     a=strtok(NULL," ");
 }
...
То программа будет выполнятся правильно.
А теперь сам вопрос, почему?
Возможно это довольно-таки глупый вопрос, но я не могу понять, почему?
Вайл выполняется до тех пор, пока условие не будет выполнено и по порядку делает действия, то есть было бы логичнее если бы он сначала вывел строку st, а потом уже выполнил действия дальше
Не понимаю.
Примерно, даже вкратце, если можно, объясните пожалуйста!
Спасибо большое заранее!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 23:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поменять строки местами (C++):

Поменять местами максимальный элемент каждой строки матрицы с первым элементом строки - C++
Написать функцию, которая меняет местами максимальный элемент каждой строки матрицы С(5,5) с первым элементом соответствующей строки.

Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки - C++
Задана матрица С(5,5). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки. решить пример тремя...

Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки - C++
Всем привет помогите применить указатели в программах. Кода написала, а вот указателями пользоваться не могу( 2)Задана матрица С(5,5)....

Если длина введенной строки кратна 4, первую часть строки поменять местами со второй - C++
Если длина введенной строки кратна 4, первую часть строки поменять местами со второй.

Задана матрица С(5,5). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки - C++
Задана матрица С(5,5). Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки.

В функции, для каждой строки матрицы M[n][k], максимальный элемент поменять местами с первым элементом строки - C++
В функции, для каждой строки матрицы M, максимальный элемент поменять местами с первым элементом строки. Дополнительных массивов и матриц...

1
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
07.12.2013, 00:39 #2
Строки
C++
1
2
if (strlen(a)==15) kolvo++;
puts(a);
можно писать в любом порядке, значение переменной a здесь не меняется(а после проверки выполняемой в while она гарантированно не равна NULL), но строка
C++
1
a=strtok(NULL," ");
должна быть именно последней, поскольку результатом вызова strtok может стать NULL, именно это значение вы передаёте strlen на последнем шаге цикла в первом варианте.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2013, 00:39
Привет! Вот еще темы с ответами:

Поменять местами строки - C++
У меня присутствует код в котором столбец с минимальным в строке "k" переставить c столбцом "k". Беда в том что у меня считывает...

Поменять местами строки - C++
В данной вещественной матрице порядка 6х9 поменять местами строку, содержащую элемент с наибольшем значением, со строкой, содержащий...

Поменять местами строки матрицы - C++
Здравствуйте. Вот проблемка какая у меня с прогой, дана матрица A(5*6) поменять местами в этой матрицы элементы 1 и 2 строчки 3 и 4...

Поменять местами строки матрицы - C++
Помогите, пожалуйста. Нужно поменять строки матрицы следующим образом: первую строку с последней, вторую с предпоследней и т.д. Ну, думаю...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru