Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20

Несколько вопросов про массив

12.12.2009, 09:58. Показов 1610. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, было задание написать программку, которая бы подсчитывала количество элементов в массиве, меньших значений C, которое вводится с клавиатуры.

Вот то что получилось, но при компиляции выдаются ошибки, пожалуйста подскажите что не так делаю.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <math.h>
void main()
{
    int a[10]={-4, -3, -2, -1, 0, 1, 2, 3, 4, 5};
    int c, i, m;
    printf ("c=");
    scanf ("%f", &c);
    for (i=0; i<10; i++)
    {
    if (a[i]<c) m++
    }
    printf ("m=%f", m);
}
Заранее благодарен.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2009, 09:58
Ответы с готовыми решениями:

Несколько вопросов
Здравствуйте. Возникло несколько вопросов: 1. Когда нажимаешь на определённую клавишу происходит определённое действие (типа меню)...Я на...

Несколько вопросов
Делаю небольшую консольную игру для тренировки и есть несколько вопросов. char *lev; //char lev; //как передать правильно этот массив...

Несколько вопросов
Добрый день. Начал писать одну программу в VS 2008 C++ (консоль) и столкнулся в несколькими проблемами. В общем желательно нужно, чтобы...

16
Быдлокодер
 Аватар для Darky
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
12.12.2009, 10:06
Много мелких огрехов.
Во- первых, math.h тут совершенно ни к чему - убираем.
Во-вторых, %f заменить на %d
В-третьих, переменные нужно всегда обнулять.
В-четвертых, m++ тоже требует точки с запятой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
void main()
{
        int a[10]={-4, -3, -2, -1, 0, 1, 2, 3, 4, 5};
        int c=0, i=0, m=0;
        printf ("c=");
        scanf ("%d", &c);
        for (i=0; i<10; i++)
          {
            if (a[i]<c)
                m++;
          }
        printf ("Kol-vo ravno:%d", m);
}
1
 Аватар для iomi
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 7
12.12.2009, 11:22
Здравствуйте, решила не создавать новую тему, дабы не создавать лишний мусор.
почитала немного форум. понимаю что вопрос крайне глупый, но я только недавно изучаю С++ а в универе требуют очень много. прошу помощи..

1 Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от K до N.
2 Дан целочисленный массив размера N. Преобразовать массив, увеличив его последнюю серию наибольшей длины на один элемент (Назовем серией группу подряд идущих одинаковых элементов)..
3. Дан массив размера N. Найти номера тех элементов массива, которые больше своего левого соседа, и количество таких элементов. Найденные номера выводить в порядке их убывания.

самая большая проблема в том что я не умею выводить эл-ты масиива на экран. 3ю задачку то я в принципе могу сделать, но элементы вывести не могу...
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
12.12.2009, 11:40
iomi,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <algorithm>
#include <iterator>
 
template <typename T,size_t N> inline void output (const T (&arr)[N])
{
    std::copy(arr,arr+sizeof(arr)/sizeof(*arr),std::ostream_iterator<T>(std::cout," "));
    std::cout<<std::endl;
}
 
int main()
{
    int arr[] = {1,2,3};
    double arr2[] = {2.2,3.3};
    output<int>(arr);
    output<double>(arr2);
    system("pause");
    return 0;
}
0
 Аватар для Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
12.12.2009, 12:08  [ТС]
Darky, огромное спасибо за помощь. Если не сложно расскажи чем %f от %d отличается.

И ещё 2 вопрос - как сделать программку, которая бы вычисляла Сумму целых частей массива, расположенных до минимального элемента. Массив можно использовать тот же.
0
Быдлокодер
 Аватар для Darky
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
12.12.2009, 12:27
Freizer, Как я понимаю, %f - это char
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
int main(void)
{
const int N=6;
  int A[N];
  int i,min=0,sum=0,i_min=0;
  min=A[0];
  for (i=0;i<N;i++)
  {
    cout<<"Vvedite A["<<i<<"]: ";
    cin>>A[i];
      if (A[i]<min)
      {
        min=A[i];
        i_min=i;
      }
  }
  cout<<"\nMinumum= "<<min;
  for (i=0;i<i_min;i++)
    sum+=A[i];
  cout<<"\nSumma el. do minimyma ravna: "<<sum;
}
1
 Аватар для Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
12.12.2009, 12:38  [ТС]
Спасибо за пример, но при компиляции Microsoft Visual Studio выдаёт такие вот сообщение об ошибках:

Code
1
2
3
4
5
6
7
8
9
10
11
1>
------ Построение начато: проект: Elements C1, Конфигурация: Debug Win32 ------
1>Компиляция...
1>1.cpp
1>c:\users\sidorlutai\documents\visual studio 2008\projects\elements c1\elements c1\1.cpp(10) : error C2065: cout: необъявленный идентификатор
1>c:\users\sidorlutai\documents\visual studio 2008\projects\elements c1\elements c1\1.cpp(11) : error C2065: cin: необъявленный идентификатор
1>c:\users\sidorlutai\documents\visual studio 2008\projects\elements c1\elements c1\1.cpp(18) : error C2065: cout: необъявленный идентификатор
1>c:\users\sidorlutai\documents\visual studio 2008\projects\elements c1\elements c1\1.cpp(21) : error C2065: cout: необъявленный идентификатор
1>Журнал построения был сохранен в "file://c:\Users\SidorLutai\Documents\Visual Studio 2008\Projects\Elements C1\Elements C1\Debug\BuildLog.htm"
1>Elements C1 - ошибок 4, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Не подскажите из за чего это?

Более верно задание звучит так - В одномерном массиве, состоящим из n вещественных элементов, вычислить сумму целых частей элементов массива, расположенных до максимального элемента.
0
Быдлокодер
 Аватар для Darky
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
12.12.2009, 12:41
Подскажу.
Попробуйте так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int main(void)
{
const int N=6;
  int A[N];
  int i,min=0,sum=0,i_min=0;
  min=A[0];
  for (i=0;i<N;i++)
  {
    cout<<"Vvedite A["<<i<<"]: ";
    cin>>A[i];
      if (A[i]<min)
      {
        min=A[i];
        i_min=i;
      }
  }
  cout<<"\nMinumum= "<<min;
  for (i=0;i<i_min;i++)
    sum+=A[i];
  cout<<"\nSumma el. do minimyma ravna: "<<sum;
}
0
 Аватар для Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
12.12.2009, 12:46  [ТС]
Я в своём посте не очень верно указал задание, глянь в предыдущем, там где отчёт об ошибке плиз...
0
Быдлокодер
 Аватар для Darky
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
12.12.2009, 14:10
Для элементов после последнего отрицательного

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
int main(void)
{
const int N=6;
  int A[N];
  int i,otr=-1,sum=0,j=-1;
  for (i=0;i<N;i++)
  {
    cout<<"Vvedite A["<<i<<"]: ";
    cin>>A[i];
      if (A[i]<0)
      {
        otr=A[i];
        j=i;
      }
  }
  cout<<"Last < 0: "<<otr;
  cout<<"\nEgo index: "<<j;
  sum-=otr;
  for (;j<N;j++)
  {
    sum+=A[j];
  }
 if (sum>0)
    cout<<"\nSumma el. posle poslednego < 0: "<<sum;
}
1
 Аватар для Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
12.12.2009, 15:45  [ТС]
Darky, ещё раз огромное спасибо за пример.

Я немного упростил для своих целей, и получилось то что нужно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
void main()
{
  int A[10]={-4,-3,-2,-1,0,1,2,3,4,5};
  int i,otr=-1,sum=0,j=-1;
  for (i=0;i<10;i++)
  {
          if (A[i]<0)
      {
        otr=A[i];
        j=i;
      }
  }
    sum-=otr;
  for (;j<10;j++)
  {
    sum+=A[j];
  }
 if (sum>0)
    printf ("Summa el. posle poslednego:%d", sum);
}
Если не сложно расскажите как работает += или -= в C++.
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
12.12.2009, 15:53
Freizer, a+=1 == a=a+1
0
 Аватар для Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
12.12.2009, 15:58  [ТС]
То есть, если будет a+=5 == a=a+5, верно?
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
12.12.2009, 16:09
Freizer, да верно!

Добавлено через 5 минут
Таким образом можно использовать не только сложение
Code
1
2
3
4
5
6
7
8
a+=5 эквивалентно a=a+5;
a-=5 эквивалентно a=a-5;
a*=5 эквивалентно a=a*5;
a/=5 эквивалентно a=a/5;
a%=5 эквивалентно a=a%5;
a|=5 эквивалентно a=a|5;
a^=5 эквивалентно a=a^5;
a&=5 эквивалентно a=a&5;
1
 Аватар для Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
12.12.2009, 16:14  [ТС]
Интересно, но возник вопрос по поводу
Цитата Сообщение от manfeese Посмотреть сообщение
a%=5 эквивалентно a=a%5;
a|=5 эквивалентно a=a|5;
a^=5 эквивалентно a=a^5;
a&=5 эквивалентно a=a&5;
что означает %, |, ^ и & ...
0
 Аватар для manfeese
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
12.12.2009, 16:21
% - остаток от деления (5%3=2)
|, ^ и & логические побитовые операции: ИЛИ (or), ИСКЛЮЧАЮЩЕЕ ИЛИ (xor), И (and) соответственно
1
 Аватар для Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
12.12.2009, 16:22  [ТС]
Ясно, всем огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.12.2009, 16:22
Помогаю со студенческими работами здесь

Пара вопросов про массивы
у меня есть пара вопросов,хотя один можно сказать относится к функциям..но тема у нас в курсе-массивы. Так вот: 1.void main() { const...

Несколько вопросов по извучению C++
Добрый день, товарищи!! Я немного новичек в вопросах программирования на C++, поэтому прошу строго не судить меня за мои, возможно,...

Несколько вопросов к программистам.
Доброго времени суток! я начинающий, последние пару месяцев делал упор на изучение Си, WinAPI и дискретной математики. Наверное, это было...

Несколько вопросов по указателям.
Добрый день. Не получается до конца разобраться с указателями, потому есть несколько вопросов. Кому несложно, помогите, пожалуйста. 1....

Несколько вопросов по строкам в С
Привет всем участникам форума. Изучаю С++, по пути прошел строки из С ( массивы символов ) И осталось несколько вопросов, ответов на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru