Помогите девушке написать 2 програмулинки

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, dr.Jekill, MOTOCoder, Medved

Ответить
merelin
Сообщения: 5
Зарегистрирован: 13 дек 2006, 11:58

13 дек 2006, 12:09

Привет мальчишки, напишите пожалуйсто две програмулинки. Препод злюка нифига непонятно объясняет, я написала 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
Аватара пользователя
Oleg_Rus
Сообщения: 330
Зарегистрирован: 16 окт 2006, 09:56
Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
Контактная информация:

14 дек 2006, 08:13

программа нужна на 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>
merelin
Сообщения: 5
Зарегистрирован: 13 дек 2006, 11:58

14 дек 2006, 09:09

Программы нужны на С++.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

14 дек 2006, 10:09

Указатели - это то, за что я не люблю Си.
В общем, если работать с указателями, то 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-й с первым.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
merelin
Сообщения: 5
Зарегистрирован: 13 дек 2006, 11:58

14 дек 2006, 10:26

Спасибо мальчики! Первую задачку сообразила, можете подсказать на счёт второй. Если знаете как написать прям код программы, буду очень благодарна, мне мой друг написал, но он написал на Visual С++, а мне нужно было на С++ он сказал что он на нём не сможет. Помогите плиз, я в этой командной строке вообще ничё непонимаю. Напишите плиз Код...ну пожалуйсто.
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

14 дек 2006, 13:43

merelin писал(а):... но он написал на Visual С++, а мне нужно было на С++...
Эээ... А в чем разница? Разве Visual С++ не является С++ ???
merelin
Сообщения: 5
Зарегистрирован: 13 дек 2006, 11:58

14 дек 2006, 13:57

А я и не знаю, то есть если скомпилировать код написанный в Visual С++ компилятором от С++ он скомпилирует и будет работать. То есть если скопировать код в С++ он будет компилироваться и работать? Я и не знала...а что это действительно одно и тоже!
Artak
Сообщения: 150
Зарегистрирован: 30 июн 2006, 13:49
Контактная информация:

14 дек 2006, 14:13

merelin если

" мне мой друг написал, но он написал на Visual С++"

это про меня то я отправил тебя 2 файли,один из которих написанно в консоле,как и ты хотела.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

14 дек 2006, 15:03

Про вторую программу - там надо получать список аргументов, не помню, как это называется, то ли 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.
Как-то так
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
merelin
Сообщения: 5
Зарегистрирован: 13 дек 2006, 11:58

14 дек 2006, 15:31

Artak писал(а):merelin если

" мне мой друг написал, но он написал на Visual С++"

это про меня то я отправил тебя 2 файли,один из которих написанно в консоле,как и ты хотела.


Да-да! Это ты!
А код в С++ компилироваться будет? Если да, то спасибо огромное!
Ответить