Форум программистов, компьютерный форум CyberForum.ru

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

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

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

06.12.2013, 23:56. Просмотров 230. Ответов 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, а потом уже выполнил действия дальше
Не понимаю.
Примерно, даже вкратце, если можно, объясните пожалуйста!
Спасибо большое заранее!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2013, 23:56     Поменять строки местами
Посмотрите здесь:

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

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

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

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

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

Поменять строки матрицы местами - C++
Всем привет. Учусь на первом курсе, по информатике задали задачу: Составить алгоритм: Поменять в матрице(массиве) строку с наибольшим...

В матрице поменять 2-ю и 4-ю строки местами - C++
Обработка текстовых файлов. Текст задачи: В матрице A(8,7) поменять 2-ю и 4-ю строки местами.

Поменять строки матрицы местами - C++
Если в матрице найдутся две соседние строки, которые состоят из четных элементов, то поменять эти строки местами

Поменять местами строки таблицы - C++
Написать программу, которая заполняет двумерный массив 15*7 числами от 0 до 99. Запросить у пользователя два номера строк (например, 5 и 8)...

Строки. Поменять местами слова - C++
Привет, форум. Интересует решение такого задания: поменять слова в строке по принципу "первое со вторым, третье с четвертым и т.д." Долго...

Поменять строки матрицы местами - C++
нужно поменять строки в матрице. первую со второй, третью с четвёртой, пятую с шестой и т.д. вот моя программа: #include...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1931 / 1540 / 141
Регистрация: 31.05.2009
Сообщений: 2,908
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 на последнем шаге цикла в первом варианте.
Yandex
Объявления
07.12.2013, 00:39     Поменять строки местами
Ответ Создать тему
Опции темы

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