Подскажите с решением.

Тема в разделе "Свободное общение", создана пользователем Katusha, 14 окт 2006.

Статус темы:
Закрыта.
  1. Katusha

    Katusha Гость

    Ребята, помогите чем сможите, нам по программированию задали решить четыре задачки, я раньше никогда не сталкивалась с ним и не представляю как его решать. К тому же преподаватель попался упёртый, не изъявил желания нам помогать, а задачи эти надо решить. Помогите чем сможите, пожалуйста.
    Программирование на языке C, C++
    1 Определить количество трёхзначных натуральных чисел, сумма цифр которых равна заданному числу n.
    2 Дан массив натуральных чисел, найти сумму элементов, кратных данному n.
    3 Треугольник задан координатами своих вершин. Составить программу вычисления его площади.
    4 Дана строка. Удалить из неё всё лишние пробелы, оставив между словами не более одного. Результаты поместить в новую строку.
     
  2. Katusha

    Katusha Гость

    Форум программистов называется, а не кто не знает как решать.
     
  3. Barmutik

    Barmutik Гость

    Вот именно .. это форум программистов а не форум решателей задач..

    Если надо помочь .. отправляйтесь в раздел работы и спрашивайте кто Вам за сколько это решит...
     
  4. Katusha

    Katusha Гость

    Могли бы хоть что-нибудь подсказать.
    Куда только все добрые люди делись... :(
     
  5. Afrael

    Afrael Гость

    Не понятен сам вопрос, в чем именно вы испытываете трудности :
    1. В реализации алгоритмов на языке С++.
    2. Или вам не понятен сам подход : те например как можно вычислить площадь зная треугольника зная его координаты.

    По первому пункту Вы можете или задать конкретные вопросы, или попросить и заплатаить за услуги репетитора - если Вам совершенно не знаком язык.
    2. По второму пункут так же - если вы хотите получить конкретные ответы - то задавайте вопросы точнее - что именно вам неясно.

    Есть конечно и третья возможность,если описанные Вами выше задачи нужны Вам только чтобы "сдать и забыть", то имеет смысл послушаться совета Barmutik и заплатить кому-то за решение 4-х лабораторных работ.
     
  6. Barmutik

    Barmutik Гость

    Вам уже правильно указали .. если бы у Вас была какая-то конкретная проблема .. или ошибка .. то Вам бы однозначно подсказали как её исправить ..

    Ну вот просить сделать за Вас Вашу работу .. это не много оригинально :(
     
  7. Katusha

    Katusha Гость

    Хорошо, я поняла.
    Может тогда посмотрите что тут не работает, по четвёртому заданию.
    void __fastcall
    {
    char* s = Edit1->Text.c_str();
    int c=0;
    for (int i = strlen(s)-1; i>=0; i--)
    {
    if (s==' '){break;}
    else if (s==' ')c++;
    }
    }
     
  8. Hetman

    Hetman Гость

    Я конечно не спец по Си, но помойму здесь что-то не логично:
    <!--QuoteBegin-Katusha+16:10:2006, 19:54 -->
    <span class="vbquote">(Katusha @ 16:10:2006, 19:54 )</span><!--QuoteEBegin-->
    Код (Text):
    if (s[i]==' '){break;}
    else if (s[i]==' ')c++;
    [/quote]

    В условии в двух местах есть
    тобишь и там и там один пробел, может в одно случае в условии указать два, а затем один из них вырезать?
     
  9. Afrael

    Afrael Гость

    и вы работаете все время с одной строкой попробуйте реузлутаты вынести примерно следующим образом

    {
    char* s = Edit1->Text.c_str();
    char* result;

    for (int i = strlen(s)-1; i>=0; i--)
    {
    if (s==' ' && s[i+1]==' '){
    continue;
    }else{
    c=s;
    }
    }
     
  10. Katusha

    Katusha Гость

    Проверти пожалуйста третье задание, всё работает, вот только результат получился немного не тот.
    Может заодно подскажите как записывать степень?
    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    //---------------------------------------------------------------------------

    #include <stdio.h>
    #include <math.h>
    #include <conio.h>

    void main ()
    {
    float x1, x2, x3, y1, y2, y3, a, b, c, p, S;
    printf("\nx1="); scanf("%f",&x1);
    printf("\nx2="); scanf("%f",&x2);
    printf("\nx3="); scanf("%f",&x3);
    printf("\ny1="); scanf("%f",&y1);
    printf("\ny2="); scanf("%f",&y2);
    printf("\ny3="); scanf("%f",&y3);
    a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
    c=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
    p=(a+b+c)/2;
    S=sqrt(p*(p-a)*(p-B)*(p-c));
    printf("Ploschad ravna=%f",S);
    getch ();
    }

    //---------------------------------------------------------------------------
    Мне бы хотя бы три задания сделать.
    С первым тоже что-то не то.
    //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    //---------------------------------------------------------------------------

    #include <stdio.h>
    #include <conio.h>
    void main ()
    {
    int a, b, c, n, i;
    printf("\n="); scanf("%d",&n);
    for (i=100; i<1000; i++);
    {
    a=i/100;
    b=(i%100-i%10)*10;
    c=i%10;
    if(a+b+c==n);
    }
    printf("kolichistvo hisel=%d",a);
    printf("kolichistvo hisel=%d",B);
    printf("kolichistvo hisel=%d",c);
    getch ();
    }
    //---------------------------------------------------------------------------
     
  11. Katusha

    Katusha Гость

    Всё, третье работает, второе тоже, помогите хотя бы первое до ума довести, пожалуйста.
     
  12. 62316e

    62316e Гость

    Код (Text):
    void main()
    {
    int start(100), end(1000);

    int n(666);
    int count(0);

    for(int j=start; j<end; j++)
    {
    int m;
    int s4((m = j) % 10 );
    int s3((m = m/10) % 10 );
    int s2((m = m/10) % 10 );
    int s1((m = m/10) % 10 );

    if (s1 + s2 + s3 + s4 == n)
    count++;
    }
    }
    Если я конечно правельно понял.
     
  13. 62316e

    62316e Гость

    Код (Text):
    void main()
    {
    #define A %10
    #define B /10
    #define C m=m
    int a,b,c,d,m,ret(0),s(100),e(1000), n(13);
    for(int j=s-1; j<e; j++, d = (m = j) A, c = (C B) A, b = (C B) A , a = (C B) A )
    if (a + b + c + d == n) ret++;
    }
    - В коде вроде ошыбка(хотя он компилитса и работает также как и привидучий пример. Проблема может быть с диапазоном. Ну для даной задачи все ок ). Если будеш здавать препадам - сразу и провериш)
     
  14. Katusha

    Katusha Гость

    Препод очень долго думал над первым заданием, потом сказал что оно не доделано.
    За всю эту работу я получила четыре, учитывая что я рассчитывала хотя бы на три.
    Всем спасибо за то что обратили внимание к моей скромной персоне. :unsure:

    В следующий семестр обещали системное программирование, кто-нибудь знает с чем его едят? По слухам это асемблер, что от него ждать и как к нему подготовиться, что бы не вышло как с C.
     
  15. 62316e

    62316e Гость

    Что значит "оно не доделано"? -говорил я что надо было ему второй вариант показать. Или наверно он хотел вместо цыкла рекурсию увидеть?

    Один поток - один вопрос.
     
  16. 62316e

    62316e Гость

    Ничего не понял...

    <!--shcode--><pre><code class='highlight'>#include <iostream>
    #include <conio.h>
    using namespace std;

    void main (void)
    {
    int maxN = 0;
    int sum = 0;
    int n = 1;

    cout << "Enter element count: ";
    cin >> maxN;

    int* pData = new int[maxN];
    cout << "Enter element values: ";
    for (int i=0; i<maxN; i++, pData++)
    {
    cin >> (*pData );
    }

    cout << "Enter n (Should be greater then zero): ";
    cin >> n;

    pData-= maxN;
    for (int i=0; i<maxN; i++)
    {
    if (pData % n == 0)
    sum += i;
    }
    std::cout << sum <<n;
    getch();
    }[/CODE]

    Только не вздумайте этот код куда-то показывать.. а то точно выгонят. :)
     
  17. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    62316e, теме 2 года... Возможно, уже выгнали
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей