Вывести каждый третий элемент в динамический массив - C (СИ)

Узнай цену своей работы

Формулировка задачи:

создан статический массив. могу показать весь код программы.
/////////////////////////
b++;
             if (b == 1) {
             darray = (int*)calloc(b, sizeof(int));
 
             }
             else
             darray = (int*)realloc(darray, b*sizeof(int));   // izmaina
             darray[b - 1] = Array[i];

        printf("Dinamiskais masivs: ");
        for (d = 0; d <= b; d = d + 3) {
            printf("\t%d ", darray[d - 1]);
        }
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <tchar.h>
 
int main() {
    int N, i, Array[100], d; // i - ciklam, N - elementiem
    int *darray; // dinamiskais masivs
    int b = 0; // dinamiska masiva izmers
    char ch, atk; // atkartosanai
    do {
        b = 0;
        do {
            printf("Ievadiet masiva izmeru : ");
            scanf("%d", &N);
            if (N > 100) { // masiva izmers parsniegts 100 >
                printf("Masiva izmers nedrikst parsniegt 100.\n");
            }
            else if (N <= 0) { // masiva izmers ir mazaks vai vienads ar nulli
                printf("Masiva izmers nedrikst but vienads vai mazaks par nulli\n"
                    );
            }
        }
        while (N > 100 || N <= 0);
        do {
            flushall();
            printf("\nIevadiet masivu manuali vai random? Yes or No (y,n): ");
            scanf("%c", &atk);
            if (atk != 'y' && atk != 'n')
                printf("\nIevadiet 'y' vai 'n'!");
            else
                break;
        }
        while (atk != 'y' && atk != 'n');
     //  RANDOM
        if (atk == 'n') {
            for (i = 0; i < N; i++) {
                Array[i] = (rand() % 100 + 1);
                printf("[%d] elements: %d\n", i + 1, Array[i]);
            }
        }
        // Ievadot
        if (atk == 'y') {
            for (i = 0; i < N; i++) { //
                do {
                    printf("Ievadiet %d. elementu : ", i + 1);
                    scanf("%d", &Array[i]);
                    if (Array[i] <= 0) {
                        printf("Drikst ievadit tikai naturalus skaitlus!\n");
                    }
                }
                while (Array[i] <= 0);
                  }   }
             b++;
             if (b == 1) {
             darray = (int*)calloc(b, sizeof(int));
 
             }
             else
             darray = (int*)realloc(darray, b*sizeof(int));   // izmaina
             darray[b - 1] = Array[i];

        printf("Dinamiskais masivs: ");
        for (d = 0; d <= b; d = d + 3) {
            printf("\t%d ", darray[d - 1]);
        }
        printf("\nAtkartosanai (y - Y). Iziet - jebkurs cits taustins\n");
        scanf("%s", &ch);
        clrscr();
    }
    while ((ch == 'y') || (ch == 'Y')); // atkartot programmu
    getch();
    return 0;
 
}

Решение задачи: «Вывести каждый третий элемент в динамический массив»

textual
Листинг программы
for (i = 0; i < N; i++)

Объяснение кода листинга программы

  1. В цикле for переменной i присваивается значение 0 и выполняется условие i < N, где N - это размер динамического массива.
  2. На каждой итерации цикла значение переменной i увеличивается на 1.
  3. Внутри цикла происходит вывод каждого третьего элемента массива, начиная с индекса 0.
  4. Вывод осуществляется с помощью оператора printf.
  5. После каждой итерации значение переменной i увеличивается на 1.
  6. Цикл выполняется до тех пор, пока значение переменной i меньше размера массива N.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы