Привет мальчишки, напишите пожалуйсто две програмулинки. Препод злюка нифига непонятно объясняет, я написала 8 задачек, а две никак не могу додумать, а к пятнице нужно здать, помогите пожалуйсто.
Вот задачки:
1-ая:
Перепишите функцию revers (Программа 19) с использованием указателей.
=
Программа 19. Реверсирование строк
Реверсирование это перестановка символов строки в обратном порядке, при этом меняются местами первый и последний символы, второй и предпоследний и т.д.
#include <iostream.h>
#include <string.h>
//revers: перестановка символов s в обратном порядке
void revers(char s[])
{
int i, j;//i - номер первого, второго,...символа
//j - номер последнего, предпоследнего,...символа
char tmp;//Промежуточная переменная для обмена символов
for(i = 0, j = strlen(s) -1; i < j; i++, j--)
tmp = s, s = s[j], s[j] = tmp;
}
int main()
{
const int MAX = 100;
char s[MAX];//Память под строку
cout << "Введите строку:\ n";
cin.getline(s, MAX);
revers(s);//Вызов функции реверсирования строки
cout << "Реверсированная строка:\ n";
cout << s;
return 0;
}
===
2-ая:
Напишите программу ical, которая может выполнять 4 арифметические действия над своими аргументами, то есть в ответ на ввод команды типа
ical 5 + 4
печатать результат выполнения заданной операции: 9.
эту с использованием командной строки
==
P.S. заранее огромное спасибо, Вы ведь все ПРОФИ, я думаю это несложно. а я полный новичёк. Тем более девушке это достаточно сложно понять. Спасибо Вам за поддержку и понимание.
Если что пишите на e-mail: coolkeeper@mail.ru
Помогите девушке написать 2 програмулинки
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
- Oleg_Rus
- Сообщения: 330
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
программа нужна на Delphi или Paskal?
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
Указатели - это то, за что я не люблю Си.
В общем, если работать с указателями, то i и j будут не индексами массива, а указателями на эти элементы. Короче, если s^ (не помню, как правильно синтаксически пишется) - указатель на массив s, то он же - указатель на его первый элемент (а по-сишному - нулевой). Соответственно, (s+1)^ - указатель на следующий элемент. Вот идешь, циклически изменяешь один указатель от s до s+length(s)/2, а второй от s+length(s) до s+length(s)/2, и обмениваешь их значения.
Почему указатель должен идти до половины массива, а не по всему массиву (то же, кстати, к индексам относится) - если идти по всему массиву, у тебя он перевернется два раза и примет первоначальный вид. То есть, если в нем 10 элементов, 1-й поменяется с 10-м, 2-й с 9-м, ..., 9-й снова со вторым и 10-й с первым.
В общем, если работать с указателями, то i и j будут не индексами массива, а указателями на эти элементы. Короче, если s^ (не помню, как правильно синтаксически пишется) - указатель на массив s, то он же - указатель на его первый элемент (а по-сишному - нулевой). Соответственно, (s+1)^ - указатель на следующий элемент. Вот идешь, циклически изменяешь один указатель от s до s+length(s)/2, а второй от s+length(s) до s+length(s)/2, и обмениваешь их значения.
Почему указатель должен идти до половины массива, а не по всему массиву (то же, кстати, к индексам относится) - если идти по всему массиву, у тебя он перевернется два раза и примет первоначальный вид. То есть, если в нем 10 элементов, 1-й поменяется с 10-м, 2-й с 9-м, ..., 9-й снова со вторым и 10-й с первым.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Спасибо мальчики! Первую задачку сообразила, можете подсказать на счёт второй. Если знаете как написать прям код программы, буду очень благодарна, мне мой друг написал, но он написал на Visual С++, а мне нужно было на С++ он сказал что он на нём не сможет. Помогите плиз, я в этой командной строке вообще ничё непонимаю. Напишите плиз Код...ну пожалуйсто.
Эээ... А в чем разница? Разве Visual С++ не является С++ ???merelin писал(а):... но он написал на Visual С++, а мне нужно было на С++...
А я и не знаю, то есть если скомпилировать код написанный в Visual С++ компилятором от С++ он скомпилирует и будет работать. То есть если скопировать код в С++ он будет компилироваться и работать? Я и не знала...а что это действительно одно и тоже!
merelin если
" мне мой друг написал, но он написал на Visual С++"
это про меня то я отправил тебя 2 файли,один из которих написанно в консоле,как и ты хотела.
" мне мой друг написал, но он написал на Visual С++"
это про меня то я отправил тебя 2 файли,один из которих написанно в консоле,как и ты хотела.
Про вторую программу - там надо получать список аргументов, не помню, как это называется, то ли argv, то ли argumentslist, то ли еще как, не помню Си. Дальше код примерно такой (примерно! Это псевдокод!)
a=argv[0];
sign=argv[1];
b=argv[2];
if (sign=="+")
{return a+b}
if (sign=="-")
{return a-b}
if (sign=="*")
{return a*b}
и так далее. Только предварительно а и в из строк надо перевести в вид целый или float.
Как-то так
a=argv[0];
sign=argv[1];
b=argv[2];
if (sign=="+")
{return a+b}
if (sign=="-")
{return a-b}
if (sign=="*")
{return a*b}
и так далее. Только предварительно а и в из строк надо перевести в вид целый или float.
Как-то так
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Artak писал(а):merelin если
" мне мой друг написал, но он написал на Visual С++"
это про меня то я отправил тебя 2 файли,один из которих написанно в консоле,как и ты хотела.
Да-да! Это ты!
А код в С++ компилироваться будет? Если да, то спасибо огромное!