Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
6 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77

Робота с класами

13.08.2011, 22:42. Показов 2860. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я пишу програму на задачу:
Дано формулу ? 1 ? 2 ? … ? n = k.
вместо ? должны стоять знаки + или -
мы вводим число k а нам должно вывести минимальное n при котором ета формула возможна
В моем коде прога выбивает ошыбку:1>suma.cpp(35): error C2352: Vybir::rezult: недопустимый вызов нестатической функции-члена.В чем она пологаетса?Ну и если можно покахзать ошыбки в коде которые касаютса решения задачи) Буду признателен)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "stdafx.h"
#include<conio.h>
#include<stdlib.h>
#include<stdio.h>
class Vybir
{
protected:
    Vybir* left;Vybir* right;
Vybir(Vybir*l,Vybir*r)
{
    left=l;
    right=r;
}
public:
    ~Vybir();
  int rezult(int k)
    {
        int n[10000],j,j1,sum;
        for(j=0;j<10000;j++)n[j]=j+1;
        for(j=1;sum<k;j++)
        {
        sum+=n[j];
        }
        for(j1=0;;j1++)
        if(sum>k)n[j1]=-1*n[j1];unsigned int q=n[j];
        return(q);
    }
}; 
using namespace System;
int main(array<System::String ^> ^args)
{   
    int k=getchar();
    int*x=Vybir::rezult(k);
    getch();
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.08.2011, 22:42
Ответы с готовыми решениями:

Работа с Класами в С++
Люди виручайте есть такое задание: Написати клас для ефективної роботи з рядками, дозволяючий форматувати і порівнювати рядки,...

Проблема с класами
Вот пытаюсь описать клас(умова задачи в коментариях)но когда запускаю выбивает какуюту ошыбку типа необратимое исключения типов и тд...

Ошибка с класами
Нашел себе книгу &quot;С++ за 21 день&quot; и там начал делать примеры. Но почему-то дойдя до классов ничего получается. Rect.h #include...

12
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.08.2011, 11:05
KING1994, мой вам совет - начните изучать С++ с самого начала, оставьте пока CLR, классы и прочее. Начните с функций, хотя бы, потому что от того, что я перепишу вашу программу - ничего не изменится, вы будете продолжать записывать в указатели интовое значение, прятать конструкторы и от имени класса вызывать не статические методы
1
6 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
14.08.2011, 11:29  [ТС]
Я уже прочитал книгу по С++ и сейчас застрял на класах.Пример в книге не очень полезен.А ета задача хорошо ето обясняет.Пожалуйста помогите хоть класс описать.Наперед спасибо.

Добавлено через 7 минут
В смысле я понимаю многое о класах,но мне сложно описать методы класа.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.08.2011, 11:39
Судя по этому кусочку кода
C++
1
2
3
4
5
6
7
8
9
10
11
int rezult(int k)
{
    ...
    for(j1 = 0; ; j1++)
        if(sum > k)
            n[j1] = -1 * n[j1];
    unsigned int q = n[j];
    return(q);
}
...
int * x = Vybir::rezult(k);
- вы не знаете даже функций, циклов, указателей. А смысл учить классы, если вы не знаете элементарной базы? Да и с типами данных не сложилось...

Кстати, а почему вы не создали Win32, а полезли в CLR?
1
6 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
14.08.2011, 11:44  [ТС]
Упс) не посмотрел што создал)кстати чем они отличаютса друг от друга?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.08.2011, 12:30
http://ru.wikipedia.org/wiki/C%2B%2B/CLI
0
6 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
14.08.2011, 14:19  [ТС]
Ибо я слепой ибо там нету даже намека на о што такое CLR=/
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.08.2011, 14:33
Цитата Сообщение от KING1994 Посмотреть сообщение
)кстати чем они отличаютса друг от друга?
на этот вопрос и была дана ссылка на CLI
CLR все на той же википедии
http://ru.wikipedia.org/wiki/C... ge_Runtime
1
6 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
14.08.2011, 15:47  [ТС]
Ну в CLR есть множество новых файлов и библиотек которые недоступни Win32 даже Клас Console
В Win32 не читает я хз как вивести переменную типа int ибо putchar() and printf выводят какието символи а не цифры.А в основном оно ничем не отличаетса от Win32.Поправте если я неправ.

Добавлено через 19 минут
А што касаетса етого кода то я написал етот код рандомно меняя все параметры ибо я так и не понял из книжки как описывать методы функцый.Он сначала был таковым:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Class Vybir{
protected:
Vybir *left,*right;
Vybir(Vybir* l,Vybir* r)
{left=l;right=r;}
public:
~Vybir(void)
{delete left;delete right;}
virtual float rezult(void){}
};
class Number:public Vybir
{
float f;
public:
Number(float F){f=F;}
float rezult(void){return f;}
}
Class Plus:public Vybir
{
public:
Plus(Vybir* l,Vybir* r):Vybir(l,r){};
float rezult(void)
{
return left->rezult()+right->rezult();
}
};
...
Number a(1),b(2);
Plus p(&a,&b);
выбивало ошыбку и в етом коде...
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
14.08.2011, 21:27
Цитата Сообщение от KING1994 Посмотреть сообщение
етот код рандомно меняя все параметры ибо я так и не понял из книжки как описывать методы функцый
Вот поэтому я сказал - вернитесь к функциям и изучите их еще раз.

Цитата Сообщение от KING1994 Посмотреть сообщение
Ну в CLR есть множество новых файлов и библиотек которые недоступни Win32 даже Клас Console
В Win32 не читает я хз как вивести переменную типа int ибо putchar() and printf выводят какието символи а не цифры.А в основном оно ничем не отличаетса от Win32.Поправте если я неправ.
Вы создавали Win32 Application или Win32 Console Application? По поводу отличается/не отличается - он в корне отличается, особенно принципом работы.
А теперь сравните код
С++/CLI
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
 
using namespace System;
 
ref class Test
{
  public:
    void test()
    {
        Console::WriteLine("Test message");
    }
};
 
int main(array<System::String ^> ^args)
{
    Test^ test = gcnew Test();
    test->test();
    Console::ReadLine();
    return 0;
}
Win32 C++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
 
class Test
{
  public:
    void test()
    {
        std::cout<<"Test message"<<std::endl;
    }
};
 
int _tmain(int argc, _TCHAR* argv[])
{
    Test* test = new Test();
    test->test();
    delete test;
    std::cin.getline();
    return 0;
}
1
6 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
14.08.2011, 22:51  [ТС]
Спасибо.Теперь понятнее чм отличаетса CLR от Win32.Но о функцыях вы немножко непоняли)Я знаю как описывать функции и писал множоство програм на них(даже собственные игры типо выбратса из лабиринта,калькулятор и тд)но мой код был очень длинным.Описание класов сокращает етот код в 2 ато и в 3 раза.Я не понимаю как описывать методы класов а не обычные функции(а ето совсем разные вещи)
Буду очень благодарен если поможете описать только метод даного класа.Наперед спасибо.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
15.08.2011, 00:14
А как я ее перепишу, если программа алгоритмически не рабочая? Это бесконечный цикл
C++
1
2
3
for(j1 = 0; ; j1++)
   if(sum > k)
      n[j1] = -1 * n[j1];
1
6 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
15.08.2011, 22:30  [ТС]
Я пытался его сделать рекурсивным,но не получилось(

Добавлено через 13 часов 23 минуты
Ну в смысле функцыю рекурисвной*
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.08.2011, 22:30
Помогаю со студенческими работами здесь

Не могу разобраться с класами
На днях приобрел книжку Г. Шилдт Там есть пример #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; ...

Легкое задание с класами
Помогите решить задание... Пропустил несколько занятий и сейчас немного не понимаю, так хоть по готовому примеру разберусь ...

Робота с .htaccess робота с адресом перенаправление
Здравствуйте как мне в .htaccess сделать перенаправление вот этих адресов /index.php?do=reg на /registr.html ...

Очень непростая программа с класами!
Всем привет! Нужно сделать класс Matrix (квадратная матрица) Действия: -=, *=. Класс должен иметь конструкторы, для создания объектов...

Не корректно работает программа с класами
Привет Всем. У меня есть к Вам просьба. Я вот написал программу,но в ней редактирование и удаление данных из базы данных работает не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru