Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/168: Рейтинг темы: голосов - 168, средняя оценка - 5.00
43 / 43 / 5
Регистрация: 26.10.2010
Сообщений: 447
1

if в C++ и C

23.03.2011, 22:20. Показов 31777. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как использовать оператор if в С++ и С ?
Напимер: JavaScript
if (условие) {
тогда
}
else
{}
0
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
23.03.2011, 22:23 2
аналогично
1
43 / 43 / 5
Регистрация: 26.10.2010
Сообщений: 447
23.03.2011, 22:25  [ТС] 3
Еще один вопрос:
Как обозначается корень квадратный?
Например Паскаль sqrt?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
23.03.2011, 22:34 4
в С нет корня квадратного
и многое к чему привык в Паскале нет
зато есть библиотеки в которых находятся разные функции
подключаешь библиотеку и пользуешься ими
например для математических вычислений
#include <match.h>
и можешь брать синусы косинусы степень
кстати корень квадратный это степень 1/2
1
43 / 43 / 5
Регистрация: 26.10.2010
Сообщений: 447
23.03.2011, 22:41  [ТС] 5
Пишу
C++
1
2
3
4
 if (g>0) { s=g+1}
           else
          {s=g-1} 
  return 0 }
а оно выдает ошибку! В чем?

Добавлено через 5 минут
Вот моя прога:
C++
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 int main(){ float g,s,f,n;
  puts("Vvedite chislo g \n");
  scanf("%f",&g);
  s=0;
  if (g>0) { s=g+1}
           else
          {s=g-1} ;
  return 0 }
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
23.03.2011, 22:42 6
Сидоренко, точки с запятой поставь
ValeryS, омг, с каких пор в math.h нет функции sqrt?
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
23.03.2011, 22:43 7
пишешь не правильно
в С ты можешь записать все в одну строку и будет работать
конец лексемы не перевод строки а знак ;
твой пример должен выглядеть так
C++
1
2
3
4
5
6
7
8
9
if (g>0)
 { 
s=g+1;
 }
 else
    {
s=g-1;
     } 
  return 0;
если у тебя в блоке( фигурные скобки) одна строка то блок можно не писать
т.е. можно и так
C++
1
2
3
4
5
6
if (g>0)
    s=g+1;
 else
   s=g-1;
 
 return 0;
и смотри что пишут в ошибках чаще всего в них ответы на вопрос
1
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
23.03.2011, 22:43 8
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
int main()
{ 
float g,s,f,n;
puts("Vvedite chislo g \n");
scanf("%f",&g);
s = 0;
if (g > 0) s = g + 1;
else s = g - 1;
return 0;
}
1
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
23.03.2011, 22:47 9
Цитата Сообщение от iama Посмотреть сообщение
ValeryS, омг, с каких пор в math.h нет функции sqrt?
а кто сказал что нет я сказал что возведя в степень можно взять ЛЮБОЙ корень

Добавлено через 2 минуты
а можно вообще вот так
C++
1
2
3
if (g>0)   s=g+1;  else    s=g-1;
 
 return 0;
компилятор схавает самому потом будет трудно читать
1
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
23.03.2011, 22:49 10
Цитата Сообщение от ValeryS Посмотреть сообщение
в С нет корня квадратного
я б за такое кастрировал
Цитата Сообщение от ValeryS Посмотреть сообщение
#include <match.h>
и за такое - тоже
Сидоренко, кого вы слушаете?
1
43 / 43 / 5
Регистрация: 26.10.2010
Сообщений: 447
23.03.2011, 23:03  [ТС] 11
Ну да))

Добавлено через 11 минут
Как мне написать

sqrt(n) и над корнем стоит 3 ??
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
23.03.2011, 23:05 12
ГДE в С без библиотек есть корень квадратный
Цитата Сообщение от iama Посмотреть сообщение
#include <match.h>
и за такое - тоже
<math.h>
описался
мог бы и поправить
0
43 / 43 / 5
Регистрация: 26.10.2010
Сообщений: 447
23.03.2011, 23:08  [ТС] 13
Как мне написать

sqrt(n) и над корнем стоит 3 ??
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
23.03.2011, 23:11 14
cbrt кубический корень
смотри описание библиотеки
http://ru.wikipedia.org/wiki/Math.h
1
43 / 43 / 5
Регистрация: 26.10.2010
Сообщений: 447
23.03.2011, 23:56  [ТС] 15
В чем ошибка! Простите за вопросы, я просто первый день изучаю C и C++
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
#include <math.h>
 int main(){ float g,s,f,n,r;
  puts("Vvedite chislo g \n");
  scanf("%f",&g);
  s=0;
 if (g>0)
 { puts("1 vetv! Vvedite f,s,n !");
   scanf("%f%f%f",f,s,n);
         r=s-f/sqrt(n);}
 else
    {puts("Vetv 2! Vvedite f,n");
    scanf("%f%f",f,n);
         r=f-cbrt(n);} 
     printf("r=%2.2f\n",r);
   getch();
  return 0; 
  }
Добавлено через 26 минут
Хотя на C++ работает нормально?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
 
int main() { float g,s,f,n,r;
    cout<<"Vvedite chislo g! \n";
    cin>>g;
    s=0;
    if (g>0)
    {cout<<"Vetv 1; Vvedite f,s,n !\n";
    cin>>f>>s>>n;
     r=s-f/(sqrt(n));} else {
                       cout<<"Vetv 2! Vvedite f,n\n";
                       cin>>f>>n;
                       r=f-cbrt(n);}
    cout<<"Rezultat:"<<r;
    getch();
    return 0;
    }
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
23.03.2011, 23:56 16
По стандарту НЕТ функции cbrt, если не учитывать С99, который не столь популярен.
0
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
24.03.2011, 00:00 17
Для нахождения корня есть функция pow
0
Модератор
Эксперт по электронике
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,521
24.03.2011, 00:00 18
10 строка
scanf("%f%f%f",&f,&s,&n);
14
scanf("%f%f",&f,&n);

у тебя может не быть в библиотеке корня кубического cbrt(n)
поэтому возведи в степень 1/3
r=f-pow(n,(float)1.0/3);
1
43 / 43 / 5
Регистрация: 26.10.2010
Сообщений: 447
24.03.2011, 00:04  [ТС] 19
Огромное спасибо! все работает! И как я только мог забыть про знак & ?
0
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
24.03.2011, 09:54 20
Цитата Сообщение от ValeryS Посмотреть сообщение
ГДE в С без библиотек есть корень квадратный
в си без библиотек - только статичное выделение памяти, арифметика и присваивание значений. в чем соль, рассматривать не язык, а какую-то его часть?
0
24.03.2011, 09:54
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru