Создание и заполение массива на Си

Поділитися
Вставка
  • Опубліковано 12 січ 2025

КОМЕНТАРІ • 38

  • @СергейБлизнюк-е3я
    @СергейБлизнюк-е3я 4 роки тому +9

    Прекрасный преподаватель !

  • @maria_ramo
    @maria_ramo 2 роки тому +2

    int j = 0;
    for (int i = 0; i < N; ++i)
    if (i % 2 == 0)
    {
    A[i] = j;
    j += 1;
    }
    for (int i = 0; i < N; ++i)
    if (i % 2 != 0)
    {
    A[i] = j;
    j += 1;
    }
    Код получился больше, и пришлось ввести еще одну переменную j целочисленного типа. Но мне так понятнее))
    Спасибо большое, Тимофей, за столь полезные видео.

    • @allex6829
      @allex6829 Рік тому

      Интересная задумка, 15 минут вдуплял как работает, просто гениально, спасибо

  • @MuslimLeaderDev
    @MuslimLeaderDev 2 роки тому

    "Дикие числа" - прикольное и хорошое название.

  • @lordpapich3374
    @lordpapich3374 Рік тому

    Спасибо большое, легко и просто объяснил

  • @nataliasalyaeva4688
    @nataliasalyaeva4688 6 років тому +32

    Не могли бы вы пронумеровать лекции по си? Приходится играть в угадайку "что я пропустила?" спасибо огромное за лекции!

  • @recreationreally4382
    @recreationreally4382 5 років тому +2

    Можно использовать запятую:
    int i;
    for(i=0; i< N/2; i++) A[2*i]=i, A[2*i+1]=i+N/2;
    Чуточку магии:
    int i, i2, N_2=N/2;
    for(i=0; i< N_2; i++) i2=2*i, A[i2]=i, A[i2+1]=i+N_2;

  • @sergeystal15
    @sergeystal15 5 років тому

    я такого еще не видел, выражения в квадратных скобках. Спасибо.

  • @kg4050
    @kg4050 Рік тому +1

    Доброго дня! Подскажите, пожалуйста, каким образом можно заданное число разделить на отдельные цифры, внести их в массив, а после в самом массиве расположить в порядке убывания? Очень много видео было просмотрено, много статей прочитано, но так ничего и не получается.

  • @СтепанКазанский-ж2к

    Спасибо вам огромное!

  • @olgapetrova7588
    @olgapetrova7588 Рік тому

    Тимофей, добрый день! Есть ли у вас видео как найти максимальное/минимальное число из текстового файла?

  • @АлексейНосиков-т4м

    Всем привет, учу с++ 2 дня и решил выполнить такое задание: создать массив со случайными уникальными числами.
    Можете проверить:
    #include
    #include
    int main()
    {
    using namespace std;
    srand(time(NULL));
    const int a = 10;//количество элементов
    const int b = 10;//разброс
    int arr[a]{};
    int i = 0;

    for (int i = 0; i < a; i++)
    {
    arr[i] = rand() % (b+1);
    }

    for(int n=0;n

  • @zzarryadd
    @zzarryadd 4 роки тому +2

    а если N - размер массива не константа и ее нужно вводить, то как быть?

    • @Westerden
      @Westerden 2 роки тому

      Никак, N должна всегда быть постоянная const

    • @CurS-yp3qw
      @CurS-yp3qw Місяць тому

      Переписывать компилятор

  • @РусланКарнеенко
    @РусланКарнеенко 18 днів тому

    спасибо

  • @codemonkey2190
    @codemonkey2190 Рік тому

    Так инициализировать массив нулями появилась возможность начиная со стандарта C99. В ANSI C такое невозможно.

  • @rocknrolla1440
    @rocknrolla1440 3 місяці тому

    Захардкодил 🤟

  • @pulatovmirjamol
    @pulatovmirjamol 4 роки тому

    Добрый день //Заменить наибольшие элементы элементов в массиве A (n) нулями.// как будет

  • @borissherbakov4011
    @borissherbakov4011 4 роки тому +1

    Ты крутой

  • @МарияРоманова-д7ф

    Здравствуйте. Я совсем начинающая, и не понимаю, почему сначала в квадратных скобках мы пишем число элементов массива, а потом оно заменяется индексами, и компьютер это понимает =,= а я нет

    • @Serjious_m
      @Serjious_m Рік тому

      Может книжку почитать?

  • @crocus161
    @crocus161 4 роки тому

    А можно ли сделать так чтоб числа в массиве записались в обратную сторону:
    for(int I = N; I > 0; I-){A[k] = k; }

    • @programer8
      @programer8 4 роки тому

      for (int i = N - 1; i >= 0; i--)
      A[i] = i;
      заполнение массива справо на лево от N-1 до 0

  • @Михаил-ф5с2е
    @Михаил-ф5с2е 2 роки тому

    👍👍👍

  • @ЮрийНиколаевич-л6т

    Как же помогает.

  • @recreationreally4382
    @recreationreally4382 5 років тому

    Не N - i -1, а (N - 1) - i. Т.е. вы начинаете с последнего индекса: N-1.

  • @vitaliypolyakov8805
    @vitaliypolyakov8805 4 роки тому +4

    Задача хорошая. Но !!! Если N нечетно, то программа делает не то, что надо. Запустите N = 7. В цикле условие, i < N/2, т.е. i = 2 - последнее значение. 2*i = 4. a[6] вообще не вычисляется, оно содержит мусор! Для того, чтобы следователь этой логике, нужно N/2 заменить на .... N/2 + N % 2. Но это слишком сложно. Неудобно такую программу читать, исправлять. Значит, не надо так делать.
    А проще всего эту задачу решить, пройдя сначала по четным, а затем по нечетным элементам массива, и во время этих двух проходов присваиваемую величину наращивать. Вот так:
    int count = 0;
    for(int i = 0; i < N; i += 2)
    a[i] = count++;
    for(int i = 1; i < N; i += 2)
    a[i] = count++;

  • @AlexeyCherepanov-p5n
    @AlexeyCherepanov-p5n Рік тому

    почему ++i, а не i++???

  • @pavelrepnikov6316
    @pavelrepnikov6316 6 років тому +1

    прога=Ctrl+c,Ctrl+v

  • @pulatovmirjamol
    @pulatovmirjamol 4 роки тому

    Даны 3 одномерных массива: A [10], B [10], C [10]. Необходимо определить количество положительных элементов в каждом массиве до первых 0 элементов. //как можно решат

  • @recreationreally4382
    @recreationreally4382 5 років тому +4

    Разбиение задачи на простые называется мудреным словом декомпозиция.

  • @ДауренбековИсламхан
    @ДауренбековИсламхан 5 років тому +2

    ставьте лайки под коментарий

  • @тентакль-и9ж
    @тентакль-и9ж 3 роки тому +1

    ошибочка вышла ломовейшая в последнем заполнении. Не n/2+i а 3+i. Вот правильно:
    #include
    #include
    #define N 8
    int main()
    {
    int A[N] = {0};
    for(int i = 0; i < N/2; i++)
    {
    A[2*i] = i;
    A[2*i+1] = 3+i;
    }
    for(int i = 0; i < N; i++)
    printf("%d
    ", A[i]);
    return 0;
    }