PDA

Просмотр полной версии : Помогите с задачками по С++


Anium
12.12.2006, 15:45
Помогите с задачками по С++, неуспеваю... желательно в Builder'е

1. Написать программу которая выводит самое длинное и самое короткое слово во

введённом предложении

2.Написать рекурсивную функцию которая заполняет массив целых чисел значениями,

вводимых пользователем в обратном порядке

3.Написать функцию для решения системы N уравнений

4. Написать класс для решения системы N уравнений

5. DLL. Вычислить значение функции y=0.5x^2 + 4x - 3 и постройте график этой функции в Exel

KoTeG
12.12.2006, 16:29
Я думаю что такие задачки только за деньги ( написать программы , функции , класс )

bopoh13
12.12.2006, 16:56
Мля, что тут писать...

Смысл алгоритмов:

1. Вводишь предложение. Создаешь динамический массив. Заполняешь массив словами (в качестве разделителя используешь "пробел"). Анализируешь длинну каждой переменной массива через цикл, записывая в переменные $ds (самое длинное) и $ks (самое короткое), например.

2. Заполняешь массив. Перезаписываешь значения в обратном порядке. (Возможно, есть готовая функция при работе с массивом).

3. Надо вспомнить математику за 7-8 класс... Вообщем-то можно подбором (и выбирая диапазон чисел)

4-5. С DLL и классами посложнее. Как писать незнаю, т.к на СИ не пишу!

Но задания легкие...

Anium
12.12.2006, 16:56
есть немного wmz, стучите в аську 512-543, договоримся

VampiRUS
12.12.2006, 17:07
1. Вводишь предложение. Создаешь динамический массив. Заполняешь массив словами (в качестве разделителя используешь "пробел"). Анализируешь длинну каждой переменной массива через цикл, записывая в переменные $ds (самое длинное) и $ks (самое короткое), например.
это ты наверное на php легко это напишешь, а в C будет посложнее, если будет время напишу только не на билдере.
3.Написать функцию для решения системы N уравнений
полюбому кто-то уже писал до тебя use google.

bopoh13
12.12.2006, 17:14
это ты на php легко это напишешьНу дык ;) И на Delphi тоже.
А в СИшке в чем трудность будет?

Anium
12.12.2006, 17:24
вот я для первой лабы набросал немного, но никак не получу ответ в таком виде:
-----------------------------------
самое длинное слово: ...
самое коротко слово: ...



#include <iostream.h>
#include <stdio.h>
#include <vcl.h>
void main (int arg_cou, char** arg_cnt)
{
char str [200], *cp, *lng;
int i, maxlen, curlen;
char c;

// вводим слова
for (i=0; i < (sizeof(str)-2); i++)
{ c = getchar();
if (c == '\n') break;
str[i] = c;
}
str [i] = ' ';
str [i+1] = 0x00;

cp = lng = str;
maxlen = 0;
for (i=0; str[i]; i++)
{ if (str[i] == ' ') // слово кончилось
{ if (*cp == ' ') // пробросить группу пробелов
{ cp = str+i; continue; }
curlen = (str+i) - cp;
if (curlen > maxlen) // это слово длиннее ?
{ maxlen = curlen; lng = cp; }
str[i] = 0x00;
printf("<%s> %2d %2d\n", cp, curlen, maxlen); // отладка
cp = str + i + 1;
}
else // не кончилось
{ if (*cp == ' ') cp = str + i;
}
}

printf("самое длинное слово <%s>\n", lng);
getchar();
}

VampiRUS
12.12.2006, 17:28
Ну дык И на Delphi тоже.
А в СИшке в чем трудность будет?
посмотри листиг который привёл Anium, а сколько бы это заняло на php?

NaX[no]rT
12.12.2006, 17:44
Anium по-моему сильно загнул (: намного меньшим кодом обойтись можно используя строки #include <iostream.h>
#include <string>

int main()
{
string buf, largest,shortest;

int maxLen,minLen,curLen,
max = -1, min=100,
cnt = 0;

while ( cin >> buf )
{
curLen = buf.size();
if ( curLen > max )
{
max = curLen;
largest = buf;
}
if ( curLen < min )
{
min = curLen;
shortest = buf;
}
}

cout << "The largest word: " << largest << endl;
cout << "The shortest word: " << shortest << endl;

}

bopoh13
12.12.2006, 17:48
2 VampiRUS: может еще короче можно... :p

2 Anium: _http://www.forum.ishodniki.ru/index.php?action=;topic=5992.0;prev_next=prev
ЗЫ: а ты тему развивай, глядишь, седня фсе доделаешь :)

Anium
12.12.2006, 18:07
r†']Anium по-моему сильно загнул (: намного меньшим кодом обойтись можно используя строки
небольшая попровочка... пользоватся <string> не разрешает препод...
зы: в проге я не нашёл условия завершения цикла ввода слов...

_http://www.forum.ishodniki.ru/index.php?action=;topic=5992.0;prev_next=prev

всё бы хорошо.. но надо вводить слова самому, а это очень простой пример..

VampiRUS
13.12.2006, 05:54
вот что у меня получилось:

#include <stdio.h>

void main(){
char str[200],*cur,*max,*min;
int i=0, maxlen=0, curlen, minlen=200;

fgets(str,200,stdin);
while(str[i]!='\x0'){
cur=str+i;
while(str[i]!=' '&&str[i]!='\n')i++;
curlen=str+i-cur;
if(curlen>maxlen){
maxlen=curlen;
max=cur;
max[maxlen]='\x0';
}
if(curlen<minlen){
minlen=curlen;
min=cur;
min[minlen]='\x0';
}
i++;
}
printf("The largest word: %s\n",max);
printf("The shortest word: %s\n",min);
}

nerezus
13.12.2006, 10:00
пользоватся <string> не разрешает препод... А ты уверен, что надо на С++, а не на С? ))
Ибо либо так, либо ваш препод дэбыл )

VampiRUS
13.12.2006, 15:10
Ибо либо так, либо ваш препод дэбыл )
что не исключено)), всякое бывает.

Anium
13.12.2006, 16:55
А ты уверен, что надо на С++, а не на С? ))
Ибо либо так, либо ваш препод дэбыл )
уверен, а стринг нельзя использовать по словам препода чтобы не расслабляться и почувсвовать все прелести языка С, а не заниматься халтурой. Конешно со стрингом всё гораздо проще...


вот что у меня получилось:
Спасибо! вот это как раз то что требует препод :)
Осталось совсем чуть чуть... 4 лабы = )
Если бы мог репу поднять, не пожалел плюсиков...

NaX[no]rT
13.12.2006, 17:17
уверен, а стринг нельзя использовать по словам препода чтобы не расслабляться и почувсвовать все прелести языка С, а не заниматься халтурой. Конешно со стрингом всё гораздо проще...
А зачем тогда это всё создаётся?))
зы: в проге я не нашёл условия завершения цикла ввода слов...Ctrl + Z

Anium
13.12.2006, 17:24
r†']А зачем тогда это всё создаётся?))

для меня цель - сдать лабы
для препода - научить нас яву С/С++, ему думаю видней какими способами нас учить :)

m17
13.12.2006, 21:15
если что будет еще кидай сюда, я в прошлом году лабы сдавал, всей группе помогал, мож че подскажу

Anium
13.12.2006, 22:39
если что будет еще кидай сюда, я в прошлом году лабы сдавал, всей группе помогал, мож че подскажу
ну дык в 1 посте ещё 4 задачки

За 4 и 5 задачи дам по шестизнаку :)

m17
13.12.2006, 23:05
а че именно за системы?

Anium
14.12.2006, 10:25
система линейных уравнений с N неизвестными