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

[Visual C++]strcmp() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Организовать ввод кириллицы в массив http://www.cyberforum.ru/cpp-beginners/thread85137.html
#include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> #define sz2 20 int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, "Russian");
C++ Файл Здравствуйте!Помогите мне решить,это последняя задача осталась(а то мне оценку на экзамене снизят) наверно, её надо реализовать в одной функции main...на языке Си В каждой строке файла содержится имя файла, находящегося в текущем каталоге. Переписать файл, удалив из него имена не существующих файлов, а для каждого существующего файла записать его размер в байтах. http://www.cyberforum.ru/cpp-beginners/thread85128.html
Удалить из списка все отрицательные элементы C++
Постановка задачи: Составить программу, которая удаляет из списка все отрицательные элементы люди умные спасите от провала в зачете.
C++ Работа со структурами
вот такая задача: Распечатать список учеников музыкальной школы, которые учатся играть на скрипке. Указать сколько лет они занимаются музыкой. для зачета сказали решить. я в программировании полный ноль.
C++ Лабораторка с матрицами http://www.cyberforum.ru/cpp-beginners/thread85118.html
Всем Привет_))) Ребят, у меня проблема. Задание: Дана матрица B Найти в каждой строке максимальный и минимальный элементы и поменять их местами с первым и последним соответственно. Как на блок-схемах выглядит понимаю, а вот с кодировкой на С нет. подскажите, кто чем может_))).Заранее спасибо!
C++ не умею пользоваться функциями задание: дан массив целых чисел с кол.элементов n. проверить выполняется ли условие a=-a, то есть является правая половина зеркальным отображением левой при смене знака на противоположный. если не является. то указать позиции первых несовпадающих элементов. ввод исходных данных, сама обработка и вывод в виде отдельных функций эта без функций как это сделать? #include<iostream> using... подробнее

Показать сообщение отдельно
insideone
Модератор
Автор FAQ
 Аватар для insideone
3623 / 901 / 48
Регистрация: 10.01.2010
Сообщений: 2,429
13.01.2010, 00:25     [Visual C++]strcmp()
О да, это все может поначалу серьёзно запутывать. Не давай человеку рыбу, научи рыбачить... ага....
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
char char_array[30] = "Какая то строка. Ещё строка"; // массив символов ещё не строка а лишь массив символов
char* str = &char_array[0]; // адрес на какой либо элемент символов ознаменует появление новой строки, причем строка начнется с указанного символа
char* half_str = &char_array[17]; // т.е. можно так и строка будет меньше
// Присвоение строке вызовет присвоение адресу его первого символа
str = "Привет война! :)"; // причем это ссылка на const char
// Попробуем изменить символ строки. То что указано в [] означает на сколько символов мы сместиися
// Это объясняется что каждый последующий адрес отвечает за последующий символ (а обращаясь к адресу
// мы можем обратиться к переменной символьного типа
//str[7] = 'м'; // будет ошибка - попытка изменения const char
char new_char_array[17] = "Привет война! :)"; // это строка уже не const и её можно изменить
str = &new_char_array[0]; // ссылаемся на неё
str[7] = 'м'; // ошибок нет, попробуем дальше
str[8] = 'и';
str[9] = 'р';
str[10] = '!';
// Посмотрим что же в str
str;
// ой! не забываем что строка должна завершаться нулем (NULL)
str[11] = NULL; // обрезали все что после 10 символа шло (т.к. 11 уже пустота)
// Теперь содержание str - порядок!
// HINT: "Привет мир!"

Не по теме:

Я раньше с этими строками клавиатуру зубами грыз, но ничего, понятное дело с Lua переходить где все удобства и никаких тебе адресов)


C++
1
2
3
4
strcmp(&char_array[0], "Какая то строка. Ещё строка"); // сравнение строки полученной из массива с константной строкой (она автоматически преобразуется в указатель для правильной передачи)
strcmp(&char_array[17], "Ещё строка"); // сравниваем начиная с определенного символа в массиве
strcmp("Тест", "Тест"); // хм, так тоже можно, но зачем?
strcmp("Тест", str); // вторым параметром посылаем ссылку на символ
Если сравниваемые величины в одном массиве то их можно сравнить, главное чтобы они разделялись нулевым символом (NULL)
C++
1
2
strcmp(&char_array[0], &char_array[17]);// внимание! в данном случае символ NULL должен находиться в 16 позиции (или ранее)
// так же необходимо помнить что строка начинающаяся на 17 символе (второй параметр) тоже должна заканчиваться NULL
Если символы разделены пробелом то можно легко заменить их на символы NULL для сравнивания. Например так
C++
1
2
3
4
5
for (int i = 0; i < array_size; i++)
{
   if ( char_array[i] == ' ' )
      char_array[i] = NULL;
}
 
Текущее время: 17:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru