121

(11 відповідей, залишених у C++)

Joker написав:

там ще є варіант коли треба підключити

#include <locale>

Це бібліотека С++ :(

122

(11 відповідей, залишених у C++)

Joker написав:

я знаю тільки

setlocale (LC_CTYPE, "ukr");

Здається не підійде під звичайне С

Ні, пробував. Помилка

123

(11 відповідей, залишених у C++)

Всім привіт. Пишу консольну програму на Сі, зіткнувся із такою проблемою: весь текст, що виводиться на екран тільки англійський, а якщо кирилиця -- то кракозябрики  :) . Шукав в інеті як виводити кирилицю, знайшов тільки методи з С++, на Сі не працюють. Може хтось знає і поділиться?

124

(6 відповідей, залишених у C++)

koala написав:

Пане, вибачте, ми тут не телепати. По коду і опису змін в ньому неможливо встановити помилку - тільки по новому коду.

navchalkin написав:

при кожному разі запуску програми потрібно вводити спочатку число більше 0

А якщо присвоїти значення замість вводу?

navchalkin написав:

Тобто коли помилка -- кидає на кінець циклу, і починає з початку

while(...){
  ...
  if(помилка){
    continue;
  }
  ...
}

або, знову ж таки,

while(...){
  ...
  if( !помилка ){
     ...
  }
}

те що треба:) велике спасибі:)

125

(6 відповідей, залишених у C++)

Betterthanyou написав:
navchalkin написав:
koala написав:

goto є, але використовувати його вкрай небажано. Є ще return (вихід з функції, а в main - з програми) і exit з stdlib.h. А ще можна робити гілки if: if(все правильно введено){код програми}.
По другому - вам потрібен цикл.

Я зробив циклом, оголосив ще одну змінну, і задав їй умову, що вона більша 0, тоді працює калькулятор, але тепер при кожному разі запуску програми потрібно вводити спочатку число більше 0, аби калькулятор працював.

Використовуйте цикл з післяумовою do while

так і зробив. Тепер постало інше питання, коли вводити неправильні значення -- спрацьовує "return 0", і виходить з програми. Чи можна зробити, щоб воно не тікало за межі циклу? Тобто коли помилка -- кидає на кінець циклу, і починає з початку

126

(6 відповідей, залишених у C++)

koala написав:

goto є, але використовувати його вкрай небажано. Є ще return (вихід з функції, а в main - з програми) і exit з stdlib.h. А ще можна робити гілки if: if(все правильно введено){код програми}.
По другому - вам потрібен цикл.

Я зробив циклом, оголосив ще одну змінну, і задав їй умову, що вона більша 0, тоді працює калькулятор, але тепер при кожному разі запуску програми потрібно вводити спочатку число більше 0, аби калькулятор працював.

127

(6 відповідей, залишених у C++)

Всім привіт:) Друзі, є питання, пишу програму на Сі, недавно тільки почав цю мову вчити, тому не дуже обізнаний, суть питання така: треба зробити передчасне завершення програми, коли введені неправильні значення. Як це можна зробити? Можливо тут є щось схоже на GOTO?
І щоб не створювати ще одну тему, хотів попитати ще таке: як зробити, щоб після виконання програми вона не просила натиснути любу клавішу і після цього завершувалась, а щоб натичкаючи певну клавішу програма починала працювати знову?

128

(30 відповідей, залишених у Інше)

Chemist-i написав:
navchalkin написав:
HetmanNet написав:

І сам хотів написати довідник на основі того що знаю, але ніяк не можу вирішити: PDF чи сайт.

Сайт! Окремі статті. Щоб все індексувалось, і статті були нормально написані, без дуже розумних термінів, які не кожен вшарить. "на хлопський розум", як то кажуть :D і тоді тобі ціни не буде.

PDF (як і багато інших форматів) нормально індексується гуглями.

емм, є і інші пошуковики, наприклад на смартфоні я користуюсь бінгом - це 1) а ще читати окрему статтю краще, бо її не потрібно шукати фіг зна де, фіг зна на якій сторінці, і це факт - це 2:/

129

(30 відповідей, залишених у Інше)

На ньому досі багато чого написано для Linux, і ці речі працюють найстабільніше в Linux. В С якщо помилився то точно знаєш це.

емм, наскільки я знаю, то С одна із найпоширеніших і найбільш використовуваних мов в цей час. В рейтингу популярності С друга, перша - Java

130

(30 відповідей, залишених у Інше)

HetmanNet написав:
raxp написав:

OFFTOP >

HetmanNet написав:

Дякую 
Файний PDF.. це скільки там сторінок?

на даний час 935.

І сам хотів написати довідник на основі того що знаю, але ніяк не можу вирішити: PDF чи сайт.

Сайт! Окремі статті. Щоб все індексувалось, і статті були нормально написані, без дуже розумних термінів, які не кожен вшарить. "на хлопський розум", як то кажуть :D і тоді тобі ціни не буде.

131

(30 відповідей, залишених у Інше)

Емм, якщо html рахувати за мову програмування - то перші мої кроки були в 13-14р., в 15 вчив Basic, в 16 Pascal, тепер 17, і вчу "C"  :) Також пробував php та Phyton, але чот більше потянуло на древненьке, на основу основ, С  :D

132

(2 відповідей, залишених у C++)

курча, я амперсанд не написав в сканф  :[ ото лайдик *JOKINGLY*

133

(2 відповідей, залишених у C++)

Такс, привіт всім. Зіткнувся із проблемою: пишу програму по розрахунку арифметичної та геометричної прогресії, тільки от виникла проблема, при запуску програми спочатку все працює, вводиться перша змінна, друга, а при 3-й вилітає програма, із повідомленням "Зупинена робота програми". І постійно саме на цій змінній. Пробував в 2 різних середовищах програмування. Помилка однакова усюди. Можливо хтось знає причину, і спосіб вирішення?
Дякую наперед :)
ось код

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

int main()
{
    int i,a,n,d,pro=0;

    printf("Yaku progressiy bedem rakhuvaty: arifmetychnu[1], geometrychnu[2]\n");
    scanf("%d",&i);


        printf("=========================================\n");
        switch (i)
        {
               case 1:
                    printf("       arifmetrychna progressiya\n");
                    printf("+++++++++++++++++++++++++++++++++++++++++++\n");
                    printf("Vvedit a, n, d: ");
                    scanf("%d %d %d",a,n,d);
                    pro=a+d*(n-1);
                    printf("%d",pro);
                    break;
               case 2:
                    printf("        geometrychna progressiya\n");
                    printf("*******************************************\n");
                    break;
               default:
                       printf("     error\n");
        }




       system("PAUSE");
    return 0;
}

134

(17 відповідей, залишених у Залізо)

емм, село поблизу Франківська, 100 грн -- 50 мбіт/с. :) пінг 2 мс.

135

(10 відповідей, залишених у C++)

Ось готова програма, з норм зовнішнім виглядом, як на мене  :D

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int x1,x2,x3,y1,y2,y3;
  float m,n,b;
  printf("Enter x (3 points)\n");
  scanf("%d%d%d",&x1,&x2,&x3);
  printf("Enter y (3 points)\n");
  scanf("%d%d%d",&y1,&y2,&y3);
  m=sqrt(x1*x1+y1*y1);
  n=sqrt(x2*x2+y2*y2);
  b=sqrt(x3*x3+y3*y3);
  printf("The distance from [0;0]: %f, %f, %f\n\n",m,n,b);
  printf("==============================\n");
  if(m<n&&m<b)
              {
              printf("           Point 1\n");                                 
              }
  else if(n<m&&n<b)
              {
              printf("           Point 2\n");                                 
              }
  else if(b<n&&b<m)
              {
              printf("           Point 3\n");                                 
              }      
  printf("==============================\n\n");                                 
  system("PAUSE");
  return 0;
}

136

(10 відповідей, залишених у C++)

P.Y. написав:

А чому різниця квадратів?

І це теж. Має бути сума квадратів координат.

Щодо попереднього мого зауваження: замість відстаней можна порівнювати квадрати відстаней (тобто, обійтись без знаходження коренів — якщо  a>b≥0, то й a2>b2) — тоді m, n, b можна залишити цілими.

хм, теж ідея :)

137

(10 відповідей, залишених у C++)

#Sparta написав:

А чому різниця квадратів?

 m=sqrt(pow(x1,2)-pow(y1,2));
 n=sqrt(pow(x2,2)-pow(y2,2));
 b=sqrt(pow(x3,2)-pow(y3,2));

До речі, рекомендую використовувати структурні типи даних для моделювання точки на площині :)
Я розумію, що ви , можливо, цього ще не вчили , але загугліть , або почитайте в посібнику - дуже зручна штука.
І значно зекономить вам час і зменшить розмір коду.

І ще 1. Навіщо фігурні дужки перед іфом(if)?

овв, точно, різниця квадратів -- це було помилкою :) то просто спати пора йти, баняк не варить :D

138

(10 відповідей, залишених у C++)

...Навіщо фігурні дужки перед іфом(if)?

Гг, то я пробував, можливо помилки не буде :)

139

(10 відповідей, залишених у C++)

P.Y. написав:

Тут проблема в використанні цілих чисел для відстаней, тоді як вони можуть мати й дробову частину, яка при перетворенні до цілого відкидається. Спробуйте оголосити float m,n,b;

Емм, я ж оголосив цим змінним тип з плаваючою крапкою   :)

140

(10 відповідей, залишених у C++)

Недавно почали вчити Сі, і дали ось таку задачу:
На площині задано 3 точки (х1, у1; х2, ...). Визначити, яка з них ближча до початку координат.
Я написав програму, але працює вона неправильно. Можливо, замість розгалужень є інший алгоритм пошуку меншої змінної?
(за функцію вводу я знаю: можна було записати в одному "scanf", просто я вже пробував різні конфігурації, бо не працювало)
Внизу на зображенні видно, що воно неправильно рахує :)

##include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int x1,x2,x3,y1,y2,y3;
  float m,n,b;
  printf("Press x\n");
  scanf("%d",&x1);
  scanf("%d",&x2);
  scanf("%d",&x3);
  printf("Press y\n");
  scanf("%d",&y1);
  scanf("%d",&y2);
  scanf("%d",&y3);
  m=sqrt(x1*x1-y1*y1);
  n=sqrt(x2*x2-y2*y2);
  b=sqrt(x3*x3-y3*y3);
  printf("-- [0;0]: %f, %f, %f\n",m,n,b);
  {
  if(m<n&&m<b)
              {
              printf("Point 1\n");                                 
              }
  else if(n<m&&n<b)
              {
              printf("Point 2\n");                                 
              }
  else if(b<n&&b<m)
              {
              printf("Point 3\n");                                 
              }                         
              }
  system("PAUSE");
  return 0;
}
}