21

Re: Файли.

Ну, про system ("pause") я не знав, дякую.
І повторю, я вчуся:)Тому дякую за критику, спробую реалізувати ваші поради.

22

Re: Файли.

Всім велике дякую, код написав - працює. Суто С використати не вдалося,нажаль. Спробую вдосконалити і переписати деякі моменти.
Доречі, про system("pasue"). Я спробував без  інклуду <iostream> - не розпізнає і при компіляції -помилка.
Ось сам код. Читає адекватно:)

#include <stdio.h>
#include <iostream>


void main()
{    //reading massive
    int n = 0,a; // n - розмір массиву
   
                                        
    char *filename = "P:\\if11\\IF11 2\\Dovbysh Arthur\\Programming C\\lab5\\input.txt";
    FILE *f;
    f = fopen(filename,"r+");
    while (!feof(f)) // шукаю кількість елементів
    {
        fscanf(f,"%d", &a);
        n++;
    }
    int *A = new int[n]; 
    fseek(f, 0, 0);

    for (int i = 0; i < n; i++)
        fscanf(f, "%d", &A[i]);
    fclose(f);

    
    for (int i = 0; i < n; i++)
        printf("%d\n",A[i]);
    
    system("pause");

23

Re: Файли.

Якщо ви вже fseek юзаєте, то можна просто зробити

fseek(f, 0, SEEK_END);
int n = (int) ftell(f) / sizeof(int);

Потім - ви повністю проігнорували маї зауваження про new та stdlib.
І, наостанок, ви зчитуєте на 1 елемент більше, ніж треба.

Подякували: 0xDADA11C71

24

Re: Файли.

Потім - ви повністю проігнорували маї зауваження про new та stdlib.
І, наостанок, ви зчитуєте на 1 елемент більше, ніж треба

Я не проігнорував, але вирішив , що так буде краще.
І елементів зчитує стільки - скільки потрібно. Ви тестили програму?
Якщо ні, то звідки такі висновки ?

25

Re: Файли.

Хочу зауважити, що на даний момент вивчаю чисто С. Тому , якщо можна, поясність з точки зору С.

Я не проігнорував, але вирішив , що так буде краще.

ги ги, вивчати С++ чи С це насправді другорядне питання, а от шиза то страшне

Подякували: VTrim, koala2

26

Re: Файли.

#Sparta написав:

Потім - ви повністю проігнорували маї зауваження про new та stdlib.
І, наостанок, ви зчитуєте на 1 елемент більше, ніж треба

Я не проігнорував, але вирішив , що так буде краще.
І елементів зчитує стільки - скільки потрібно. Ви тестили програму?
Якщо ні, то звідки такі висновки ?

Протестував на пустому файлі. Вивело 12.
Втім, дійсно, якщо останній рядок не закінчувати символом нового рядка, то читає правильно. Але в умові ніде про це не сказано.
І так, я прогальмував із підрахуванням - ви ж fscanf-ом читаєте, не fread-ом.
А про C/C++ вже сказано.

27

Re: Файли.

Протестував на пустому файлі. Вивело 12.
Втім, дійсно, якщо останній рядок не закінчувати символом нового рядка, то читає правильно. Але в умові ніде про це не сказано.
І так, я прогальмував із підрахуванням - ви ж fscanf-ом читаєте, не fread-ом.
А про C/C++ вже сказано.

Втім, дякую за поради :) Критика - завжди добре :)

28

Re: Файли.

ги ги, вивчати С++ чи С це насправді другорядне питання, а от шиза то страшне

Майте повагу.
І так, справді , є певна суперечність. Але хто в наш час ідеальний?
Я пишу так як вмію. Чого не вмію, стараюсь навчитись.
Тому якщо не маєте бажання дати якусь корисну пораду, краще взагалі не "флудіть".

29

Re: Файли.

Замініть new на calloc, а iostream на stdlib.h.

Подякували: #Sparta1

30

Re: Файли.

І так, справді, є певна суперечність. Але хто в наш час ідеальний?

Коала :D

Я пишу так як вмію. Чого не вмію, стараюсь навчитись.

Якщо ви ігноруєте поради Коали, то нічого не страєтесь.

31

Re: Файли.

koala написав:

Замініть new на calloc, а iostream на stdlib.h.

Зробив. Працює :)

Подякували: koala1

32

Re: Файли.

Якщо ви ігноруєте поради Коали, то нічого не страєтесь.


Тобто ігнорую? Я ж сказав, що виправив на варіант С - шний. І він працює.
Тобто тепер буду знати, не знаходите?

33

Re: Файли.

Тобто ігнорую? Я ж сказав, що виправив на варіант С - шний. І він працює.

З другої спроби і після мого коментаря.

34

Re: Файли.

З другої спроби і після мого коментаря.

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

35

Re: Файли.

#Sparta написав:
koala написав:

Замініть new на calloc, а iostream на stdlib.h.

Зробив. Працює :)

Ось тепер це C.

36

Re: Файли.

Або ж доведіть сказане.

Метою цього розслідування є доведення того факту, що ви переписали код з другої спроби після копняка від мене і коали, можливо (припускаю, а не стверджую) через нездатність скористуватися гуглем. Докази ґрунтуються на хронологічній послідовності повідомлень, яка недвозначно вказує яка репліка на якому хронологічному місці знаходиться.
Перша ваша репліка з завданням:

Хочу зауважити, що на даний момент вивчаю чисто С. Тому , якщо можна, поясність з точки зору С.

Повідомлення #12 порада від P.Y. про неприпустимість вживання iostream в чистих сях
Повідомлення #14 порада від P.Y. про неприпустимість уживання оператора new в чистих сях
Повідомлення #19 розбір вашого коду коалою з докладним описом всіх помилок
Повідомлення #22 Ваш код, де всі перелічені вище поради проігнорували
Повідомлення #24

Я не проігнорував, але вирішив , що так буде краще.

Коала пояснює знову що на що замінити, бо трьох перелічених вище порад вам замало

Замініть new на calloc, а iostream на stdlib.h.

З цієї дискусії я роблю висновк, що це не кодинг, а якась балаканина дурна, порад П.У. мало вистачити для того щоб виправити недоліки програми, коала тут навіть не потрібний, якби ви дослухалися до порад.

37

Re: Файли.

З цієї дискусії я роблю висновк, що це не кодинг, а якась балаканина дурна, порад П.У. мало вистачити для того щоб виправити недоліки програми, коала тут навіть не потрібний, якби ви дослухалися до порад.

Що ж, у кожного своя думка.
І , до речі, балаканину почали Ви.
Наразі вважаю, варто завершити "дискусію".
І так, я не використав ці поради, бо з першого разу не вдалося реалізувати їх саме таким чином як мені було потрібно.
Ще однією причиною того, що я не витратив трохи більше часу на розбір помилок є те, що мені був потрібен результат як можна швидше. Завдання виконав.
І ось, вже чисто для себе, я використав вказівки.

А суто від Вас , то ніякої поради, окрім того, що я "шизік" не прочитав.