Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1114
от 25.09.2008, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 425, Экспертов: 41
В номере:Вопросов: 8, Ответов: 21

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 144388: Здравствуйте! Напишите пожалуйста программу на языке С++, которая изменяет в строке регистры букв наоборот. Если можно напишите пожалуйста с использованием указателей, с использованием инд. указателей, без указателей, также с использованием переда...
Вопрос № 144389: Доброго вам времени суток. Напишите пожалуйста программу, которая выводит на экран все значения массива, которые больше среднего арифметического. Спасибо вам за то, что вы есть. ...
Вопрос № 144390: Здравствуйте ещё раз. Напишите пожалуйста программу, которая копирует N первых символов строки в другую строку - без использования строковых функций и с использованием указателей. Огромное СПАСИБО. ...
Вопрос № 144410: Здравствуйте, уважаемые эксперты. У меня не компилируется код в VS.net 2003. В то время как в С++6,0 все нормально. Я думал , что проблема в заголовочном файле, но iostream, iostream.h не решают проблемы. При компиляции VS2003 не знает оператор cou...
Вопрос № 144424: В одной книге по Си прочитал, что <b> статические переменные не являются потокочувствительными </b>. Поясните, что это означает....
Вопрос № 144425: В одной книге по Си прочитал, что использование "wt" при открытии файлов может привести к непереносимости программ. Там написано, что нужно использовать "w" вместо этого. ----------- Так ли это? ...
Вопрос № 144459: Здравствуйте. Помогите новичку. В работе с Visual Studio 2008,при работе с компонентом serialPort, в языке Visual Basic,для отправки 2 байтов вводится код: SerialPort1.Open() SerialPort1.Encoding = System.Text.Encoding.Default Dim b As ...
Вопрос № 144463: Какой макрос лучше использовать: TEXT или _TEXT (_T)? VC++2008. Пишу без фрейворков родное Win32....

Вопрос № 144.388
Здравствуйте! Напишите пожалуйста программу на языке С++, которая изменяет в строке регистры букв наоборот.
Если можно напишите пожалуйста с использованием указателей, с использованием инд. указателей, без указателей, также с использованием передачи строки у функцию. Спасибо.
Отправлен: 19.09.2008, 14:06
Вопрос задал: k800ise
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Николай // МMM
Здравствуйте, !

В приложении 4 способа решения задачи:

- Без использования указателей;
- C использованием указателей;
- C использованием метода индексирования указателей;
- C использованием метода передачи строки как аргумента

Также используются функции isupper(), islower(), toupper() и tolower().

функция isupper() возвращает истину, если буква прописная;
Функция islower() возвращает истину, если буква строчная;

функция toupper() изменяет регистр строчной буквы на регистр прописной;
Функция tolower() изменяет регистр прописной буквы на регистр строчной;

Для обеспечения работы с этим функциями - подключаем заголовок <cctype>.

Будут вопросы по коду - задавайте в мини-форум вопроса.

Удачи!!!

Приложение:

---------
Не ошибается лишь тот, кто ничего не делает. Не бойтесь ошибаться. Бойтесь повторять ошибки. (Теодор Рузвельт, 1858 - 1919)

Ответ отправил: Николай // МMM (статус: Студент)
Ответ отправлен: 19.09.2008, 16:29

Отвечает: realbustard
Здравствуйте, k800ise!
В приложении код программы, который передает указатель в функцию, меняющюю символ, на который он указывает. Каждому символу соответствует определенный код ASCII, например для латинских букв: A-65...Z-90; a-97...z-122. Функция проверяет значение этого кода: если оно <97, значит символ заглавный, если => то строчный.
Если встречаются определенные в программе знаки препинания, то они не меняются. Разница между А и а равна 97-65=32. Т.е. если буква заглавная, то чтобы изменить регистр, прибавляем 32, если строчная, то вычитаем.
Так же существуют функции: strupr и strlwr , которые преобразуют всю строку в верхний и нижний регистр соответственно. Пример их использования млжно прочитать здесь:
http://www.codenet.ru/progr/cpp/sprd/strupr.php

Приложение:

---------
Учись так, как-будто собираешься жить вечно; живи так, как-будто завтра умрешь (Отто фон Бисмарк)

Ответ отправил: realbustard (статус: 2-ой класс)
Ответ отправлен: 20.09.2008, 21:50


Вопрос № 144.389
Доброго вам времени суток. Напишите пожалуйста программу, которая выводит на экран все значения
массива, которые больше среднего арифметического.
Спасибо вам за то, что вы есть.
Отправлен: 19.09.2008, 14:07
Вопрос задал: k800ise
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sk0rp
Здравствуйте!

Вот один из вариантов с использованием STL
Ввод осуществляется до ввода нуля.

Приложение:

Ответ отправил: Sk0rp (статус: 3-ий класс)
Ответ отправлен: 19.09.2008, 16:18

Отвечает: Николай // МMM
Здравствуйте, !

Код С++ программы в приложении. Будут вопросы по коду - задавайте в мини-форум вопроса.

Приложение:

---------
Не ошибается лишь тот, кто ничего не делает. Не бойтесь ошибаться. Бойтесь повторять ошибки. (Теодор Рузвельт, 1858 - 1919)

Ответ отправил: Николай // МMM (статус: Студент)
Ответ отправлен: 19.09.2008, 16:32

Отвечает: realbustard
Доброго вам времени суток, k800ise!
Код в приложении.

Приложение:

---------
Учись так, как-будто собираешься жить вечно; живи так, как-будто завтра умрешь (Отто фон Бисмарк)

Ответ отправил: realbustard (статус: 2-ой класс)
Ответ отправлен: 20.09.2008, 01:02


Вопрос № 144.390
Здравствуйте ещё раз. Напишите пожалуйста программу, которая копирует N первых символов строки
в другую строку - без использования строковых функций и с использованием указателей.
Огромное СПАСИБО.
Отправлен: 19.09.2008, 14:11
Вопрос задал: k800ise
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Verena
Здравствуйте, k800ise!
В этой задачи нам необходимо посимвольно переписать n символов из одной строки в другую. Переход по символам строки осуществляется точно также, как по элементам массива (поскольку строки в си - массивы символов), т.е. либо при помощи индексации (str[i]), либо, что менее удобно в большинстве случаев, при помощи работы с указателями (*str - первый символ, *str+1 - второй символ и т.д.). Реализация Вашей задачи в приложении, остальное, думаю, ясно из комментариев.
Удачи!

Приложение: