41

(7 відповідей, залишених у C#, .NET)

Itari написав:

А яка різниця як той результат видається? Ти що його до другої програми передаєш?
Взагалі то можна й так:

Console.WriteLine(x.ToString().Replace(",","."));

якщо "побістрячку". А якщо по розуму, то створити свою локалину:

            CultureInfo ci = CultureInfo.CreateSpecificCulture("en-US");
            ci.NumberFormat.NumberDecimalSeparator="*";
            Console.WriteLine(String.Format(ci, "{0}", 22.156));
            Console.ReadKey();

Тут зірочка - новий сепаратор чисел.

Дякую, спробую реалізувати твій варіант.
Але просто принципове питання саме у вводі а не у виводі.Особисто я звик через крапочку, мабуть, як і більшість.

42

(7 відповідей, залишених у C#, .NET)

2 гий скрін.
Чомусь неможу одночасно 2 загрузити.

Прихований текст

43

(7 відповідей, залишених у C#, .NET)

Привіт усім !
У мене маленька проблемка, якщо це можна так назвати.
Я намагався зчитати 2 double значення і обрахувати їх суму наступним кодом.

Прихований текст
Console.WriteLine("Input 1st double value");
double x = double.Parse(Console.ReadLine());

Console.WriteLine("Input 1st double value");
double y = double.Parse(Console.ReadLine());

x+=y;

Console.WriteLine(x);
Console.ReadKey();

Штука в тому, що коли я вводжу числа і намагаюсь розділити дробову частину через "." , то ерорить наступну помилку(скріншот №1).

Погугливши трошки, знайшов , що можна обійти ось таким чином.Попередньо підключивши "System.Globalization"

Прихований текст
Console.WriteLine("Input 1st double value");
            
double x = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

Console.WriteLine("Input 2nd double value");

double y = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

x += y;

Console.WriteLine(x);

Console.ReadKey();

І все начебто добре, але результат всеодно виводить з "," в якості розділювача.(скріншот №2).
Не можу знайти відповідної інфи, де в налаштуваннях компілятора це потрібно змінити, бо в знайомого на ПК все працює на ОК.

Буду дуже вдячний за допомогу

44

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

А чому масив  - як глобальна змінна?
Всі інші мінуси Вам описав пан koala:)

45

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

Навряд чи така відповідь Вас влаштує, але це - неможливо. *WALL*

Прихований текст

Варто , мабуть, спочатку нам показати Ваш варіант виконання задачі?

shonrens написав:

Щось зробив неправильно а от що не знаю, довільно порівню мої рядки за довжиною.

Прихований текст
/* (1) Написати функцію для порівняння двох рядків, не використовуючи бібліотечних функцій. */
#include <iostream>
#include <cstring>

using namespace std;

void comTwoRows(char *mes1, char *mes2);

int main ()
{
        const int size = 50;
        char message_1[size];
        char message_2[size];

        cout << "Enter the first row:\n: ";
        cin.getline(message_1, size);

        cout << "Enter the second row:\n: ";
        cin.getline(message_2, size);

        cout << "first row: " << message_1 << endl;
        cout << "Seconf row: " << message_2 << endl;

        comTwoRows(message_1, message_2);
        cout << endl;
return 0;
}

void comTwoRows(char *mes1, char *mes2)
{
        int len_mes1, len_mes2;
        char text[80];

        while (*mes1){
                len_mes1++;
                *mes1++;
        }
        while (*mes2){
                len_mes2++;
                *mes2++;
        }

        if (len_mes1 > len_mes2)
                strcpy(text, "First number greater than the second");
        else if (len_mes1 < len_mes2)
                strcpy(text, "Second number greater than the first");
        else // (len_mes1 == len_mes2)
                strcpy(text, "Two strings the same");

        cout << text;
}

Ну , почнем з того, що ви використовуєте бібліотечні функції :)
На мою думку, Вам потрібно брати Ваші стрічки й просто посимвольно їх порівнювати .
Відповідно , зробіть функцію типу "bool" і повертайте true - коли "рівні" між собою і false - навпаки.
Але зрозумійте, що Вам потрібно порівняти 2 рядки! А не їх довжини.

47

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

Ціна питання ?

48

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

Динамічно виділити пам'ять можна ось так :

Прихований текст
#include <iostream>

using namespace std;

void main()
{
    int n = 0; // Розмір масиву

    cout << "Input size" << endl;
    cin >> n; 

    int *arr = new int[n]; // виділяємо потрібну кількість пам'яті

    for (size_t i = 0; i < n; i++) //вводимо n чисeл
    {
        cout << "Input " << i + 1 << " element" << endl;
        cin >> arr[i];
    }

    delete[] arr;



}

49

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

g ++ ? ^_^
А так , то koala Вам усе розповів:)

50

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

Ярослав написав:

Тільки якось дивно. Прога спрацьовує не завжди.

Ну  можливо  тому  що Ви за допомогою

cin >> president >> country;

зчитуєте лише по 1му слову  в контейнер.
Краще, мабуть , буде так

getline(cin,presinets); 
getline(cin,country); 

Ну , але , можливо , проблема не в цьому :)

51

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

mishaf490 написав:

Напишіть програму, що просить користувача ввести назву держави та
прізвище президента з клавіатури і виводить на екран рядок “... є
президентом держави ....”. Замість “...” виводяться введені користувачем
рядки.


Ну , перед тим , як створювати тему, раджу почитати правила форуму.
Вам сюди : http://replace.org.ua/rules/

52

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

Усім , хто відписався,  велике спасибі :)
Буду працювати

53

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

Всім привіт!
Починаю вникати в ООП  %)  %)  %)
Планую розпочати з реалізації знань на С++. (це важливий пунктиик *YES* )
Але є проблемка :) Нормальної літератури не можу знати.
Є книжка Павловської , але там якось мутно все і мало інфомації. В прикладах коду є помилки і т.д.
Ну типу книжок є багацько , але хочеться щось вже перевірене(варте уваги).
Якщо хтось щось читав чи бачив якийсь хороший посібник - порадьте.
Дякую вам велике :)

54

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

Все досить чітко описано навіть в тій самій вікіпедії

55

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

koala написав:

Тоді буде

do{...}while(len<255)//а от і наша халепа

Подивіться, які значення len набуває.

:D
Забавно. Теж дійшов такого висновку:)
Загалом  дуже Вам дякую!)
Буду думати далі

56

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

koala написав:

А хто вам сказав, що проблема була саме в тому рядку?

                fgets(buff,BUFFER_SIZE,infile);//читаємо до кінця рядка, файла чи BUFFER_SIZE-1 знаків
                int len = strlen(buff);//якщо у файлі був '\0', ми вже в халепі
                tmp = (char*)realloc(tmp, len + iTotalLen);
                strcpy(tmp + iTotalLen, buff);
                iTotalLen += len;
                if (len < 255) break;//а от і наша халепа


Хм. Дякую.
А якщо використати

do{...}while(len<255)

57

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

koala написав:

У мене все працює. ЩЯРНТ?

Стоп.А в самій студії пробували компілювати?

58

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

Ну ось скріншот.
Код підрівняв.

59

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

koala написав:

У мене все працює. ЩЯРНТ?

Дивно. Я ребутнув ПК - проблема так і залишається. Можливо, проблема в самій студії ? О_о

60

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

koala написав:

C - printf, malloc, realloc, free
C++ - cout, new, delete
Плутати їх - може скінчитися дуже погано.

Розумієте , спочатку думав (хоча це абсурд) - діло в free(tmp) і спробував варіант з delete.
Це останній варіант програми.
Спробуйте компільнути.
Фішка в тому , якщо закоментувати той рядок з видаленням , то все працює.
Але це ж не правильно! %)

От і не знаю , що його робити.