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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
#1

Определить в какой четверти будет больше всего точек из 10 введенных. - C++

03.08.2010, 15:28. Просмотров 1143. Ответов 8
Метки нет (Все метки)

Задание такое: Ввести 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
28
29
30
31
32
33
34
#include <stdafx.h>
#include <cmath>
#include <iostream>
using namespace std;
void main()
{
    int I, II, III, IV, x, y, i;
    for (i=0; i<10; i++)
    {
        cout<<"Enter your coords:"<<endl;
        cout<<"Enter coord x"<<endl;
        cin>>x;
        cout<<"Enter coord y"<<endl;
        cin>>y;
        if (x>0 && y>0) 
        {
            cout<<"Your coords are in the I quarter"<<endl;
        }
        else if (x<0 && y<0) 
        {
            cout<<"Your coords are in the III quarter"<<endl;
        }
        else if (x<0 && y>0) 
        {
            cout<<"Your coords are in the II quarter"<<endl;
        }
        else if (x>0 && y<0) 
        {
            cout<<"Your coords are in the IV quarter"<<endl;
        }
        else cout<<"Your coords are not belong to any quarter"<<endl;
    }
    cin.get();
}
Алгоритм я понимаю - дальше считает сколько раз координаты попадают в определенную четверть (или не попадает например x==0, y==0 или x==1, y==0 и т. д.) а потом сравнивает их и выводит в какую из четвертей координаты попадали больше всего раз (или не попадали). С программной реализацией пока не получается. Воопщем подскажите кому не трудно пож.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2010, 15:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить в какой четверти будет больше всего точек из 10 введенных. (C++):

За какой период месяца выпало больше всего осадков? - C++
Ученик шестого класса вел дневник наблюдений, в котором каждый день отмечал количество выпавших осадков. Определить, за какой период месяца...

Найти, из какой школы (школ) было больше всего участников олимпиады - C++
Прошу помощи. Болел - ничего не понял. Скоро экзамен, а я ничего не понимаю в С++. Дали примерные задачи, а я не понимаю как решать. Вот...

Процедура: Определить для каждой точки, в какой четверти она находится - C++
Данн вектор х из 6 элементов и вектор у из 6 элементов, в которых записаны ненулевые координаты 6 точек на плоскости. Определить для каждой...

Определить какая из точек ближе всего лежит к началу координат - C++
Помогите решить задачи. 1)Заданы 3 точки р1(х1,у1),р2(х2,у2),р3(х3,у3).Определить какая из точек ближе всего лежит к началу...

Определить какая из точек ближе всего лежит к началу координаты - C++
Заданы 3 точки р1(х1,у1),р2(х2,у2),р3(х3,у3).Определить какая из точек ближе всего лежит к началу координаты.

Есть данные о количестве людей, живущих в квартире 1,2,3,4...n. В какой квартире больше всего жильцов? - C++
Есть данные о количестве людей, живущих в квартире 1,2,3,4...н. В какой квартире больше всего жильцов? Если таких квартир несколько,...

8
demidrolll
131 / 130 / 6
Регистрация: 10.12.2008
Сообщений: 286
03.08.2010, 16:58 #2
Я не нашел у Вас самого определения, в какую четверть попадает больше координат.
В вашем случае должно быть что-то похожее:
C++
1
2
3
4
5
6
7
8
if (x>0 && y>0) 
    I++;  // сколько точек в I четверти и т.д.
else if (x<0 && y<0) 
    III++;
else if (x<0 && y>0) 
    II++;
else if (x>0 && y<0) 
    IV++;
А потом найдите, какая из них больше
0
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
03.08.2010, 17:11  [ТС] #3
Делал уже как Вы говорите, мысль правильная но скорее всего надо как то немного по другому.. Если ввести как Вы говорите компилятор выдает :error C2181: illegal else without matching if а как исправить не знаю( Работает так, только если 1 if с несколькими не хочет...
0
demidrolll
131 / 130 / 6
Регистрация: 10.12.2008
Сообщений: 286
03.08.2010, 17:19 #4
А вот так?
C++
1
2
3
4
5
6
7
8
if (x>0 && y>0) 
    I++;  // сколько точек в I четверти и т.д.
if (x<0 && y<0) 
    III++;
if (x<0 && y>0) 
    II++;
if (x>0 && y<0)
    IV++;
0
fasked
Эксперт С++
4945 / 2525 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
03.08.2010, 17:27 #5
инициализировать переменные кто будет?

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
 
void main()
{
    int I = 0, II = 0, III = 0, IV = 0, x = 0, y = 0;
 
    for (int i = 0; i < 4; ++i)
    {
        std::cout << "Enter your coordinates:" << std::endl;
        
        std::cout << "Enter X: ";
        std::cin >> x;
                      
        std::cout << "Enter Y: ";
        std::cin >> y;
        
        if (x>0 && y>0) 
        {
            ++I;
            std::cout << "Your coords are in the I quarter" << std::endl;
        }
 
        else if (x<0 && y<0) 
        {
            ++III;
            std::cout << "Your coords are in the III quarter" << std::endl;
        }
        else if (x<0 && y>0) 
        {
            ++II;
            std::cout << "Your coords are in the II quarter" << std::endl;
        }
        else if (x>0 && y<0) 
        {
            ++IV;
            std::cout << "Your coords are in the IV quarter" << std::endl;
        }
    }
 
    if(I > II && I > III && I > IV)
        std::cout << "Most Popular Quarter is I" << std::endl;
    else if(II > III && II > IV && II > I)
        std::cout << "Most Popular Quarter is II" << std::endl;
    else if(III > IV && III > II && III > I)
        std::cout << "Most Popular Quarter is III" << std::endl;
    else if(IV > III && IV > II && IV > I)
        std::cout << "Most Popuar QUarter is IV" << std::endl;
    else
        std::cout << "Not Most Popular Quarter" << std::endl;
    
    system("PAUSE");
}
0
demidrolll
131 / 130 / 6
Регистрация: 10.12.2008
Сообщений: 286
03.08.2010, 17:29 #6
fort-_-minor, что у Вас не работало, странно, может я чего-то не заметил...
0
Mr.X
Эксперт С++
3050 / 1695 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
03.08.2010, 17:39 #7
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/////////////////////////////////////////////////////////////////////////////////////////
//Ввести 10 раз координаты х, у и определить в какой четверти их будет больше всего.
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <algorithm>
/////////////////////////////////////////////////////////////////////////////////////////
void count_points()
{
    int        quarter_count[5]  = {0}; 
    const int  N                 = 10;
    for(int i = 0; i < N; ++i)
    {
        std::cout << std::endl
                  << "X["
                  << i + 1
                  << "] = ";
        int x;
        std::cin >> x;
        std::cout << "Y["
                  << i + 1
                  << "] = ";
        int y;
        std::cin >> y;
        if(x >= 0)
        {
            if(y >= 0)
            {
                ++quarter_count[1];
            }
            else
            {
                ++quarter_count[4];
            }
        }
        else
        {
            if(y >= 0)
            {
                ++quarter_count[2];
            }
            else
            {
                ++quarter_count[3];
            }        
        }
    }
    std::cout << "Most of all points in a quarter # " 
              << std::max_element
                     (
                         quarter_count, 
                         quarter_count + sizeof(quarter_count) / sizeof(quarter_count[0])
                     ) - quarter_count
              << "."
              << std::endl;
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{    
    count_points();
    return 0;
}
1
fort-_-minor
6 / 6 / 2
Регистрация: 30.07.2010
Сообщений: 87
03.08.2010, 18:09  [ТС] #8
Cпасибо всем, тут если не трудно подскажите пожалуйста как в моем коде сравнить и вывести в какой четверти максимальное значение на экран...
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
28
#include <stdafx.h>
#include <cmath>
#include <iostream>
using namespace std;
void main()
{
    int I=0, II=0, III=0, IV=0, no=0, x, y, i;
    short flag=0;
    for (i=0; i<10; i++)
    {
        cout<<"Enter your coords:"<<endl;
        cout<<"Enter coord x"<<endl;
        cin>>x;
        cout<<"Enter coord y"<<endl;
        cin>>y;
        if (x>0 && y>0) I++;
        if (x<0 && y<0) III++; 
        if (x<0 && y>0) II++;
        if (x>0 && y<0) IV++;
        if (x==0 && y==0) no++;
    }
    cout<<"Your coords are in the I quarter"<<"   I="<<I<<endl;
    cout<<"Your coords are in the III quarter"<<"   III="<<III<<endl;
    cout<<"Your coords are in the II quarter"<<"   II="<<II<<endl;
    cout<<"Your coords are in the IV quarter"<<"   IV="<<IV<<endl;
    cout<<"Your coords are not belong to any quarter"<<"   no="<<no<<endl;
    cin.get();
}
0
NotMyLogin
5 / 4 / 1
Регистрация: 03.08.2010
Сообщений: 5
03.08.2010, 19:16 #9
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdafx.h>
#include <cmath>
#include <iostream>
using namespace std;
void main()
{
    int I=0, II=0, III=0, IV=0, no=0, x, y, i;
        short flag=0;
    for (i=0; i<4; i++)
    {
        cout<<"Enter your coords:"<<endl;
                cout<<"Enter coord x"<<endl;
        cin>>x;
        cout<<"Enter coord y"<<endl;
        cin>>y;
        if (x>0 && y>0) I++;
        if (x<0 && y<0) III++; 
        if (x<0 && y>0) II++;
        if (x>0 && y<0) IV++;
                if (x==0 && y==0) no++;
        }
        cout<<"Your coords are in the I quarter"<<"   I="<<I<<endl;
        cout<<"Your coords are in the III quarter"<<"   III="<<III<<endl;
        cout<<"Your coords are in the II quarter"<<"   II="<<II<<endl;
        cout<<"Your coords are in the IV quarter"<<"   IV="<<IV<<endl;
        cout<<"Your coords are not belong to any quarter"<<"   no="<<no<<endl;
 
        if(I > II && I > III && I > IV)
            cout << "Most Popular Quarter is I" << std::endl;
 
        else if(II > III && II > IV && II > I)
             cout << "Most Popular Quarter is II" << std::endl;
 
        else if(III > IV && III > II && III > I)
             cout << "Most Popular Quarter is III" << std::endl;
 
        else if(IV > III && IV > II && IV > I)
             cout << "Most Popuar QUarter is IV" << std::endl;
 
        else
             cout << "Not Most Popular Quarter" << std::endl;
    
    system("PAUSE");
}
1
03.08.2010, 19:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2010, 19:16
Привет! Вот еще темы с ответами:

Определить в каком столбце матрицы больше всего элементов кратных 7 - C++
1.определить в каком столбце матрицы больше всего элементов,кратных 7 и обнулить,его элементы.

Определить номер строки в которой больше всего гласных букв - C++
Задание: 1) Скопировать из файла F1 в файл F2 все строки, кроме той, в которой больше гласных. 2) Вивести номер этой строки. код: ...

Определить номер слова в котором больше всего гласных букв - C++
1. Определить номер слова в котором больше всего гласных букв 2. Найти самое короткое слово в файле F

Определить номер той строки, в которой больше всего согласных букв - C++
Переведите, пожалуйста: Uses CRT; Var f,f2:text; s,s2:string; i,l,n1,n2,n,max,ind,c:integer; begin ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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