Программа на С++

65
12 января 2022, 12:40

Прошу помочь знающих людей в решении данной задачи, так как мои полномочия на этом всё.

Составить блок-схему алгоритма и программу на языке С++, которая на основе заданного массива целых чисел X[N] формирует массив Y. Использовать статические массивы. Для ввода элементов массива X использовать функцию scanf(). Для вывода элементов массива Y использовать функцию printf().

Записать положительные элементы массива X[N] подряд в массив Y[k], где k - количество положительных элементов массива X. Удалить из массива Y[k] максимальный элемент.

ВНИМАНИЕ!!! В данной программе возможны максимально глупые ошибки, так как я пока что плохо разбираюсь в С++. Так же после ввода значения в консоль вылетает системная ошибка.

#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{   
    unsigned int X[100], Y[100];
    int i, k, N, imax;
    printf("\n N = ");
    scanf("%d", &N);
    k = 0;
    for(i = 0; i < N; i++)
    {
        printf("X[%d] = ", i); 
        scanf("%d", X[i]);
        if(X[i] > 0)
        {
            Y[k] = X[i];
            k++;
        }
    }
    if(k != 0)
    {
        for(i = 0; i < k; i++);
        {
            printf("Y[%d] = %d\n", Y[i]);
            imax = 0;
        }
        for(i = 1; i < N; i++)
        {
            if(Y[i] > Y[imax])
                imax = i;
        }
        printf("Y[%d] = ", i);
        scanf("%d", Y[i]);
        Y[i] = Y[i + 1];
        N--;
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}
Answer 1

Ошибка как минимум в этих строках

for(i=0;i<k;i++); // лишняя ; - цикл без тела
{
  printf("Y[%d]=%d\n",Y[i]);  // заявлено 2 параметра, а передан только один
  imax=0;
}

Чтобы такого не было, желательно индексные переменные у циклов объявлять прямо в заголовке цикла:

for(int i=0;i<k;i++)

Я бы еще поспорил бы с преподавателем о том, что надо бы писать все же на C++, а не на C, то есть использовать std::vector для хранения и cin cout для ввода-вывода.

READ ALSO
Ошибка в ConnectNamedPipe

Ошибка в ConnectNamedPipe

Очень нужна помощь, создал приложение сервер которое создает канал и подключается к нему, но функция под вторым пунктом меню - ConnectNamedPipe, возвращает...

54
Структура внутри которой массив других структур

Структура внутри которой массив других структур

Как я могу создать массив структур внутри которой будут массивы других структур? Например: есть class students , мне нужна новая stuct theclass внутри которой...

102
Изменение размеров индикатора QCheckBox

Изменение размеров индикатора QCheckBox

Требуется изменить размер поля для галочки в QCheckBoxПробовал сделать это с помощью настройки стиля:

62
C# ASP.NET WEB API: Не проходят POST и PUT операции

C# ASP.NET WEB API: Не проходят POST и PUT операции

Возникла проблема при написании приложения: GET и DELETE операции проходят, а PUT и POST нет

108