Дан одномерный массив из N элементов. Найти количество положительных и сумму отрицательных элементов массива.
#include <stdio.h>
int main()
{
int kol_pol = 0, sum_otr = 0;
printf("vvedite razmer massiva: ");
int a;
scanf_s("%d", &a);
int N[a];
int i = 0;
while (i < a) {
scanf_s("%d", &N[i]);
i++;
}
int j = 0;
while (j < a) {
if (N[j] > 0) {
kol_pol++;
j++;
}
if (N[j] < 0) {
sum_otr = sum_otr + N[j];
j++;
}
if (N[j] == 0) {
j++;
}
}
printf("%d,%d", kol_pol, sum_otr);
return 0;
}
C/C++
Задачка на языке си. Что не так, Visual studio не хочет запускать?
int N[a] - такое обьявление массива, если "а" не константа, не является стандарнтым и не все компиляторы его выполнят. Действуйте по стандарту. Либо обьявляйте статический массив int N[100] где 100 - константа предполагающая что больше этого размера пользователю не доступно. Либо выделяете динамическую память:
Добавить библиотеку
Добавить библиотеку
#include //для работы с динамической памятью
заменить int N[a]; int i=0; на int* N = (int*)malloc(sizeof(int)*a); //выделение памяти указателю N
int i = 0;
перед return 0 вставить free(N); //освобождение памяти
Возможно, ты компилируешь это компилятором C++, а не компилятором C.
На ваше «Автор вопроса посчитал, что ответ не является полезным»
я сделаю так;
«Автор ответа посчитал, что ответ не является полезным автору вопроса и поэтому стер код»
я сделаю так;
«Автор ответа посчитал, что ответ не является полезным автору вопроса и поэтому стер код»
Нужно так писать:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int kol_pol = 0, sum_otr = 0;
printf("vvedite razmer massiva: ");
int a; scanf("%d", &a);
int N[a]; int i = 0;
while (i < a)
{
printf("\nN[%d] = ", i);
scanf("%d", &N[i]);
i++;
}
int j = 0;
while (j < a)
{
if (N[j] > 0) { kol_pol++; j++; }
if (N[j] < 0)
{ sum_otr = sum_otr + N[j]; j++; }
if (N[j] == 0) { j++; } }
printf("\n%d,%d", kol_pol, sum_otr);
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int kol_pol = 0, sum_otr = 0;
printf("vvedite razmer massiva: ");
int a; scanf("%d", &a);
int N[a]; int i = 0;
while (i < a)
{
printf("\nN[%d] = ", i);
scanf("%d", &N[i]);
i++;
}
int j = 0;
while (j < a)
{
if (N[j] > 0) { kol_pol++; j++; }
if (N[j] < 0)
{ sum_otr = sum_otr + N[j]; j++; }
if (N[j] == 0) { j++; } }
printf("\n%d,%d", kol_pol, sum_otr);
system("pause");
return 0;
}
Похожие вопросы
- Задачка в языке Си
- Visual studio не удается найти указанный файл
- Касперский удаляет EXE ФАЙЛ В vISUAL STUDIO 2019
- Что делать с ошибкой в Visual Studio?
- Visual Studio + Build Tools
- Что лучше, Microsoft visual studio vs embarcadero rad studio?
- Нужен ПК для работы в Visual Studio.
- Почему запускается старая программа в visual studio. C++
- Visual Studio. Решение задач
- Помогите написать программу в Microsoft visual studio на C++.