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

что то вроде программки,которая проверяет Hosts и лечит - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать структуру STUDENT http://www.cyberforum.ru/cpp-beginners/thread59888.html
Помогите с программой плз Не работает почему-то //Описать структуру с именем SUDENT, содержащую в себе следующие поля: //Фамилия и Инициалы //Номер Группы //Успеваемость(массив из 5...
C++ Средняя длина слова. Извините что еще раз обращаюсь,помогите пожалуйста. Нужно найти среднюю длину слова в строке,и обрабатывать строку как массив,не используя функций strlen и strtok. помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread59883.html
C++ Найти ошибку в коде (матрицы и действия на ними).
пишу курсовую (связано с матрицами) впринципе матрицы рассчитаны правильно. а вот с матричным уравнением есть проблема в конце нужно проверить права чатина = левой а они никак несходяться перебрал...
C++ Cтроки и массив.
1)Массивы: а) Даны числа n и m. Создайте массив int A и заполните его следующей змейкой (ниже приведен пример для n=4 и m=6): 0 1 2 3 4 5 11 10 9 8 7 6 12 13 14 15 16 17 23 22 21 20 19 18...
C++ Принадлежит ли точка четырехугольнику. http://www.cyberforum.ru/cpp-beginners/thread59869.html
Надеюсь на помощь форумчан: Задача следующяя: задана коодинатами точек четырёхугольная фигура A(-2,-1) B(-1,1) C(0,0) D(1,0) С клавиатуры вводятся координаты ещё одной точки. Нужно определить...
C++ Функции. Поиск минимума и максимума. Составить программу для нахождения суммы минимального и максимального значений среди элементов каждой из линейных таблиц Х и Y подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
04.11.2009, 20:47
C++
1
a=strlen(str);
Опять же: проговори про себя что делает этот код.
"Присваиваем a значение равное длине строки str"
Т.е. если str = "abcd" получается, что a = 4, a str[a] = '\0'. Ты в курсе, что строки заканчиваются нулевым символом, т.е. строка "abc" на самом деле является строкой "abc\0"?
Символ '\0' означает конец строки. Это очень удобно - встретил в строке символ '\0' - значит она закончилась. Все функции, работающие со строками пользуются этим. Например strlen.
Как работает strlen? Очень просто:
C++
1
2
3
4
5
6
7
8
9
int strlen(const char* str)
{
  int lenght = 0;
  
  while(str[lenght] != '\0')
    lenght++;
 
  return lenght;
}
Ты должен сравнивать ПЕРВЫЙ считанный символ с ПЕРВЫМ символом строки str, ВТОРОЙ со ВТОРЫМ, ТРЕТИЙ с ТРЕТИМ и т.д.
А как ты сравниваешь: ПЕРВЫЙ с ПОСЛЕДНИМ (нулевым), ПЕРВЫЙ с ПОСЛЕДНИМ (нулевым), ПЕРВЫЙ с ПОСЛЕДНИМ (нулевым) и т.д.

Индекс n, о котором я тебе говорил нужен именно для того чтобы переходит к следующему символу строки str.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
char* str = "abcd";
char ch;
int n = 0;
 
ch = str[n]; // n == 0, ch == a
n = n + 1;
 
ch = str[n]; // n == 1, ch == b
n = n + 1;
 
ch = str[n]; // n == 2, ch == c
n = n + 1;
 
ch = str[n]; // n == 3, ch == d
n = n + 1;
 
ch = str[n]; // n == 4, ch == '\0'
n = n + 1;
Понял для чего нужен индекс?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru