Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
#1

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

12.12.2009, 09:58. Просмотров 960. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2009, 09:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Несколько вопросов про массив (C++):

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

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

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

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

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

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

16
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.12.2009, 10:06 #2
Много мелких огрехов.
Во- первых, 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 #3
Здравствуйте, решила не создавать новую тему, дабы не создавать лишний мусор.
почитала немного форум. понимаю что вопрос крайне глупый, но я только недавно изучаю С++ а в универе требуют очень много. прошу помощи..

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

самая большая проблема в том что я не умею выводить эл-ты масиива на экран. 3ю задачку то я в принципе могу сделать, но элементы вывести не могу...
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
12.12.2009, 11:40 #4
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  [ТС] #5
Darky, огромное спасибо за помощь. Если не сложно расскажи чем %f от %d отличается.

И ещё 2 вопрос - как сделать программку, которая бы вычисляла Сумму целых частей массива, расположенных до минимального элемента. Массив можно использовать тот же.
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.12.2009, 12:27 #6
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  [ТС] #7
Спасибо за пример, но при компиляции Microsoft Visual Studio выдаёт такие вот сообщение об ошибках:

Код
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
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.12.2009, 12:41 #8
Подскажу.
Попробуйте так
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  [ТС] #9
Я в своём посте не очень верно указал задание, глянь в предыдущем, там где отчёт об ошибке плиз...
0
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
12.12.2009, 14:10 #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  [ТС] #11
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
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
12.12.2009, 15:53 #12
Freizer, a+=1 == a=a+1
0
Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
12.12.2009, 15:58  [ТС] #13
То есть, если будет a+=5 == a=a+5, верно?
0
manfeese
129 / 128 / 16
Регистрация: 04.01.2009
Сообщений: 415
12.12.2009, 16:09 #14
Freizer, да верно!

Добавлено через 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;
a&=5 эквивалентно a=a&5;
1
Freizer
0 / 0 / 0
Регистрация: 12.12.2009
Сообщений: 20
12.12.2009, 16:14  [ТС] #15
Интересно, но возник вопрос по поводу
Цитата Сообщение от manfeese Посмотреть сообщение
a%=5 эквивалентно a=a%5;
a|=5 эквивалентно a=a|5;
a^=5 эквивалентно a=a^5;
a&=5 эквивалентно a=a&5;
что означает %, |, ^ и & ...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2009, 16:14
Привет! Вот еще темы с ответами:

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

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

Несколько вопросов по основам программирования - C++
Вот дали вопросы по С++ ,но точного ответа так и не нашел!! Может вы чем то поможете или дадите сылочку на них!! Вот сами вопросы!! ...

Графический редактор. Несколько вопросов - C++
Здравствуйте! Нам в вузе преподаватель дал мне курсовую графический редактор (GIF). На любом языке. Я пока думаю между C++ и Delphi. Но...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
12.12.2009, 16:14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru