Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Элементарные программы в С++, Необходима помощь 
:(
    Опции темы
Vitomokol
Дата 11.1.2015, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.1.2015

Репутация: нет
Всего: нет



Уважаемые пользователи, для учебы необходимо написать три программы на три вида алгоритма. Буду очень благодарен, если поможете. 
У меня есть коды, которые я написал сам, но они (та-дам) не работают. Возможно, в них есть элементарные ошибки. Я учусь не в России, и контакт с преподавателем невозможен, она элементарно не знает С++, но требует скриншоты работы программы. Прошу войти в положение и помочь.

1) Составить программу для вычисления значения игрек. 
y=sin(2π+x)+sin(π+2x), где x=a^2-z^2/ a^2+z^2
, при этом значения а и z должны вводится пользователем.

Код

#include <iostream.h>
#include <math.h>
Void main ()
const float pi = 3.14;
{
Int x,a,z;
cout<< "Введите значение a" >> a end;
cout<< "Введите значение z" >> z endl;
x=a*a-z*z/a*a+z*z;
y=sin(2* pi +x)+sin(pi+2*x);
cout <<”x=”<<x<<end;
cout <<”y=”<<y<<endl;
}



2) Вычислить значение игрек. y=х^3-23 если x>0 или 25/x3-23, если x<=0

Код

#include <iostream.h>
Void main ()
{
Int x;
cout<< "Введите значение x" >> x end;
if x>0 
y=pow(x,3)-23;
else
y=25/pow(x,3)-23;
cout <<”y=”<<y<<endl;
}



3) Вычислить все значени игрек. y=arctg((x^2+1)^1/2) При этом значения икса x=-2 x=-1.8 x=-1.6 и так до нуля.

Код

#include <iostream.h>
#include <math.h>
Void main()
{ float x=-2, y, h=0.2;
Do
{ y=atan((sqrt(x*x+1));
Cout<<”x=”<<x<<” y=”y<<y<<endl;
X=x+h}
While (x<=0);
}



Заранее БОЛЬШОЕ спасибо.
PM MAIL   Вверх
disputant
Дата 11.1.2015, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 28.11.2011

Репутация: нет
Всего: 3



Ой, как все запущено...

Начнем с того, что C++ чувствителен к регистру. Что переменные объявляются в теле функции, а не где-то между заголовком и телом. Что считывают данные из потока ввода, например, cin smile 

Непонятно, какого уровня стариной вы пользуетесь - типа Борланда 3.1? потому что в более современных компиляторах включается iostream - без .h, и требуется указать, что используется пространство имен std...

Это сообщение отредактировал(а) disputant - 11.1.2015, 17:03
PM MAIL   Вверх
Ukrajinec
Дата 11.1.2015, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 6.4.2009

Репутация: нет
Всего: нет



Значит так, первая программа и где были твои ошибки:

Код

#include <iostream> //без *.h
#include <math.h>
using namespace std; //этой строчкой ты "включаешь" нужные тебе здесь операторы cout и cin

 int main()
//тут код не пишут
{
    const float pi = 3.14; //а пишут здесь, в середине фигурных скобок
    int y, x, a, z;  //забыл объявить переменную "y". Также тип int(пишется с маленькой буквы) - это целочисельный тип, тоесть
                            //1, 2, 3 и т.д. А так как у тебя в функции присутствует деление, переменные "х" и "у" желательно объявить как тип double - тип с плавающей запятой
    cout << "Enter A: ";  //cout - это оператор вывода на экран(в данном случае), с его помощью ты не считаешь символ с клавиатуры
                                         //представь что cout - это монитор и ты в него стрелками "заталкиваешь" текст, но с монитора ты текст в переменную не можешь "затолкать" верно? "cout<< "Введите значение a" >> a end;"
 
    cin >> a;          //а здесь представь что cin - это клавиатура и з нее ты помещаешь стрелками информацию в переменную. 
    cout << "\nEnter Z: ";
    cin >> z;
    x = a*a - z*z / a*a + z*z;
    y = sin(2 * pi + x) + sin(pi + 2 * x);
    cout << "\nx=" << x << endl;  // тут должен быть оператор endl (END Line - конец строки), его можно также заменить на " \n" (New - как бы НОВАЯ строка)
    cout << "y=" << y << endl;
    return 0;
}


Теперь вторую программу ты можешь и сам выправить и третью тоже только цикл do-while пишется как:
Код

do
{
...
всякий очень умный код
...
} while(i<10) // пока i будет меньше 10, "всякий очень умный код" будет исполнятся

тоесть WHILE должен быть ЗА фигурными скобками, а не внутри.

Это сообщение отредактировал(а) Ukrajinec - 11.1.2015, 17:24
PM MAIL   Вверх
Vitomokol
Дата 12.1.2015, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.1.2015

Репутация: нет
Всего: нет



Ukrajinec, большое спасибо. Ты объяснил именно на таком уровне, на котором я способен понимать) Единственное что, как сделать чтобы программа после выведения результата не сразу закрывалась, а по щелчку?

Добавлено @ 16:40
Постарался исправить вторую программу, но при компиляции ругается на строку if x>0. Причем пробовал как с точкой с запятой, так и без неё.

Код

#include <iostream>
using namespace std;
int main()
{
int x,y;
cout << "Enter X: ";
cin >> x; 
if x>0
y=pow(x,3)-23;
else
y=25/pow(x,3)-23;
 cout << "y=" << y << endl;
}



Это сообщение отредактировал(а) Vitomokol - 12.1.2015, 16:40
PM MAIL   Вверх
baldina
Дата 12.1.2015, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Цитата(Vitomokol @  12.1.2015,  16:29 Найти цитируемый пост)
if x>0

Код

if (x>0)


Добавлено через 6 минут и 28 секунд
Цитата(Vitomokol @  12.1.2015,  16:29 Найти цитируемый пост)
#include <iostream>
using namespace std;
int main()
{
int x,y;
cout << "Enter X: ";
cin >> x; 
if x>0
y=pow(x,3)-23;
else
y=25/pow(x,3)-23;
 cout << "y=" << y << endl;
}

Код

#include <iostream>
#include <cmath>
int main()
{
  using namespace std;
  double x;
  cout<<"Enter X: ";
  cin>>x;
  double y=pow(x,3)-23;
  if (x <= 0)
    y=25/y;
  cout<<"y="<<y<<endl;
}

PM MAIL   Вверх
baldina
Дата 12.1.2015, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 15
Всего: 101



Цитата(Vitomokol @  11.1.2015,  16:19 Найти цитируемый пост)
Вычислить все значени игрек. y=arctg((x^2+1)^1/2) При этом значения икса x=-2 x=-1.8 x=-1.6 и так до нуля.

http://ideone.com/2j6ebk
PM MAIL   Вверх
Vitomokol
Дата 12.1.2015, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.1.2015

Репутация: нет
Всего: нет



Огромное спасибо! Только последнее: как делать, чтобы программа не закрывалась сразу после выведения резултата?
PM MAIL   Вверх
Ukrajinec
Дата 12.1.2015, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 6.4.2009

Репутация: нет
Всего: нет



Цитата(Vitomokol @ 12.1.2015,  19:35)
Огромное спасибо! Только последнее: как делать, чтобы программа не закрывалась сразу после выведения резултата?

Есть 2 варианта (ну их не два вообще-то, но эти два самые популярные):

1) в конце пишешь 
char ch;
cin>>ch;
программа будет ожидать пока ты введешь значение ch, и ты сможешь ознакомится с результатом программы
2) на строчке с  return, делаешь брейкпоинт(точку остановки), как это сделать сказать не могу так как в разных компиляторах это делается по своему. Обычно делается клик по левому краю поля напротив строки где должна программа остановится, и там появляется, обычно, красный кружок.  (так делаю я)

Это сообщение отредактировал(а) Ukrajinec - 12.1.2015, 23:57

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  1.jpg 73,21 Kb
PM MAIL   Вверх
NoviceF
Дата 13.1.2015, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 13.3.2012
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



Цитата(Vitomokol @  12.1.2015,  21:35 Найти цитируемый пост)
 как делать, чтобы программа не закрывалась сразу после выведения резултата? 


На мой взгляд, самый логичный и не противоречивый способ - это запускать консольную программу из консоли.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0803 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.