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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Semen94
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 14
#1

Нужно было написать квадрат Пифагора по дате рождения, как исправить? - C++

17.02.2014, 22:24. Просмотров 1339. Ответов 19
Метки нет (Все метки)

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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include <iostream> 
#include "math.h"
using namespace std; 
int main()
{
int a,b,c,l,d,e,f,h,g,k,m,n,o,p,r,s,x,ch1,ch2,ch3,ch4,i,j,t,q;
int mas[12];
cout<<"vvedite den:'";
cin>>x;
b=x/10;
x=x-b;
a=x/10;
cout<<"vvedite mesyac:";
cin>>x;
d=x/10;
x=x-d;
c=x/10;
cout<<"vvedite god:";
cin>>x;
e=x/1000;
f=(x-e*1000)/100;
g=(x-e*1000-f*100)/10;
h=(x-e*1000-f*100-g*10);
ch1=a+b+c+d+e+f+g+h;
ch2=(ch1/10)+ch1/10;
ch3=ch1-2*b;
{
ch3=ch1-2*a;
} 
ch4=(ch3/10)+ch3/10;
l=ch1/10;
ch1=ch1-l;
k=ch1/10;
n=ch2/10;
ch2=ch2-n;
m=ch2/10;
p=ch3/10;
ch3=ch3-p;
o=ch3/10;
s=ch4/10;
ch4=ch4-s;
r=ch4/10;
mas[0]=a;
mas[1]=b;
mas[2]=c;
mas[3]=d;
mas[4]=e;
mas[5]=f;
mas[6]=g;
mas[7]=h;
mas[8]=k;
mas[9]=l;
mas[10]=m;
mas[11]=n;
mas[12]=o;
mas[13]=p;
mas[14]=r;
mas[15]=s;
 
for(i=0;i<16;i++);
{
for(j=i+1;j<16;j++);
{
if(mas[j]<mas[i])swap(mas[i],mas[j]);
}
for (i=0;i<16;i++);
{
for (i=t;i<16;i++)
{
if (mas[i]<7)
{
cout << mas[i];
}
else
break;
}
}
cout <<'\n';
t=i;
for (i=t;i<16;i++)
{
cout << mas[i];
}
cout <<'\n';
}
system ("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2014, 22:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужно было написать квадрат Пифагора по дате рождения, как исправить? (C++):

Нужно сделать сортировку по дате рождения, по убыванию - C++
Надо отсортировать по дате рождения Всю голову сломал то тут ошибка то там #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

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

Вывести квадрат Пифагора (таблицу умножения) - C++
Помогите создать программу, в программирование нечего не понимаю! Задание: Напишите программу, которая выводит на экран квадрат...

Вывести на экран квадрат Пифагора — таблицу умножения - C++
1. Написать программу, которая выводит на экран квадрат Пифагора — таблицу умножения. 2. Задан числовой массив А. Составить программу...

Проблемы с задачей! (вывести на экран квадрат Пифагора - таблицу умножения) - C++
Помогите с задачей! Надо: 1)Обязательно цыкл for. 2)Cout/cin должны быть. 3)И подробно обьясните что к чему... Цыклы очень тяжко...

Составить программу, выводящую на экран квадрат Пифагора - таблицу умножения. - C++
Составить программу, выводящую на экран квадрат Пифагора - таблицу умножения. Рекомендуемый вид экрана программы приведен ниже. 1 2 3 4...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Humster13
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 27
17.02.2014, 23:17 #2
Я правильно понял, что это программа для определения характера человека по дате его рождения?
Если да, то у Вас тут немного кода не хватает.
Semen94
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 14
17.02.2014, 23:19  [ТС] #3
Humster13, именно) вот хотел чтобы кто-то поправил меня, сказал где неправильно)
Humster13
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 27
18.02.2014, 00:20 #4
Как бэ стоит сначала изучить вопрос... Тут лучше проект с формой сделать, а не в консоле писать.

Вам бы тут с типами данных разобраться, а то целые числа не очень дроби то любят...

Сложно тут ошибки указать...
Миниатюры
Нужно было написать квадрат Пифагора по дате рождения, как исправить?  
Humster13
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 27
18.02.2014, 00:34 #5
Главное определить цифры в числе (день, месяц, год)... Можно через циклы... но вот я не понял что у Вас делается...
А например, число 26 какие цифры содержит?
C++
1
2
3
b=x/10;     // b=26/10=2,6
x=x-b;       // x=26-2,6=23,4 Это вот всё как понимать??? Вы пытаетесь число определить? 
a=x/10;     // a=23,4/10=2,34
И зачем это всё?
Semen94
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 14
18.02.2014, 01:13  [ТС] #6
да я просто не знал как составить алгоритм правильный для исчисления, придумал вот это.. и я в тупике)
Humster13
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 27
18.02.2014, 01:17 #7
C++
1
2
3
4
5
6
// 26 = x
// ab - А - 1ое число, Б - 2ое число
 
a = x/10 // будет равно 2
 
b = x%10 // деление по модулю, остаток равен 6.
Semen94
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 14
18.02.2014, 01:22  [ТС] #8
т.е мне во всем коде заменить символ "/" на "%" ?
Humster13
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 27
18.02.2014, 02:04 #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
45
46
47
48
//#include "stdafx.h" - Для КДЕ не использую
#include <iostream> 
#include "math.h"
 
//Алгоритм взял с описания [url]http://ru-facebook.ru/kvadrat-pifagora-uznaj-xarakter-po-date-rozhdeniya[/url]
 
using namespace std; 
 
int main()
{
  int day, month, year, Da, Db, Ma, Mb, Ya,Yb,Yc,Yd,FirstCH,SecondCH,ThrCH,FoCH;
 
  cout<<"\nВведите дату своего рождения... \n" << endl;
  cout<<"Введите день: \n>";
  cin>>day;
 
  cout<<"\nВведите месяц: \n>";
  cin>>month;
  
  cout<<"\nВведите год: \n>";
  cin>>year;
  
  Da = day/10;
  Db = day%10;
  
  cout << Da << Db << endl; // проверяем, получилось ли
  
  Ma = month/10;
  Mb = month%10;
  
  cout << Ma << Mb << endl;
  
  Ya = year/1000;
  Yb = (year%1000)/100;
  Yc = ((year%1000)%100)/10;
  Yd = ((year%1000)%100)%10;
  
  cout << Ya << Yb << Yc << Yd << endl;
  
  FirstCH = Da+Db+Ma+Mb+Ya+Yb+Yc+Yd; // получаем первое рабочее число
  
  SecondCH = (FirstCH/10)+(FirstCH%10); // получаем второе рабочее число
  
  ThrCH = FirstCH-Da+Da; // получаем третье рабочее число
  
  FoCH = (ThrCH/10)+(ThrCH%10); // ну и наконец мы получили четвертое рабочее число...
 
  return 0 ;
Я тут накидал код по определению рабочих чисел. Остальное позже...
Semen94
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 14
18.02.2014, 12:51  [ТС] #10
Спасибо я его чуть подправил под свой компилятор, чтобы работал. Мне теперь нужно посчитать вот это все

Написать программу для расчета Квадрата Пифагора по личной дате рождения студента.
Рассмотрим пример.
Пусть дата рождения: 5.12.1979 - (5 декабря 1979 года.)
Как получается квадрат Пифагора?
1) Складываем цифры дня и месяца рождения: 5+1+2=8.
2) Складываем цифры года: 1+9+7+9=26.
3) Складываем полученные числа: 8+26=34 - это 1 рабочее число.
4) Складываем цифры первого рабочего числа: 3+4=7 - это 2 рабочее число.
5) Из первого рабочего числа вычитаем удвоенную первую цифру дня рождения: 34-2*5=24 - это 3 рабочее число.
6) Складываем цифры третьего рабочего числа: 2+4=6 - это 4 рабочее число.
Первый ряд чисел: 5121979
Второй ряд чисел: 347246

Подсчитав, сколько каких цифр в обоих рядах составляем таблицу:
11...44...77
22...5....нет 8
3....6....99
Humster13
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 27
18.02.2014, 17:11 #11
См. код... Но это еще не конец
Кликните здесь для просмотра всего текста
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "stdafx.h"
#include <iostream> 
#include "math.h"
#include "stdlib.h"
 
//Алгоритм взял с описания [url]http://ru-facebook.ru/kvadrat-pifagora-uznaj-xarakter-po-date-rozhdeniya[/url]
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"Russian"); // Эта строчка для русских символов в консоле
    
    int day, month, year, Da, Db, Ma, Mb, Ya,Yb,Yc,Yd;
    int FirstCH,SecondCH,ThrCH,FoCH, Fa, Fb, Sa, Sb, Ta, Tb, FOa, FOb; 
    int mas[17];
 
    cout<<"\nВведите дату своего рождения... \n" << endl;
    cout<<"Введите день: \n>";
    cin>>day;
 
    cout<<"\nВведите месяц: \n>";
    cin>>month;
  
    cout<<"\nВведите год: \n>";
    cin>>year;
  
    mas[1] = Da = day/10;
    mas[2] = Db = day%10;
  
    cout << Da << Db << endl; // проверяем, получилось ли
  
    mas[3] = Ma = month/10;
    mas[4] = Mb = month%10;
  
    cout << Ma << Mb << endl;
  
    mas[5] = Ya = year/1000;
    mas[6] = Yb = (year%1000)/100;
    mas[7] = Yc = ((year%1000)%100)/10;
    mas[8] = Yd = ((year%1000)%100)%10;
  
    cout << Ya << Yb << Yc << Yd << endl;
  
    FirstCH = Da+Db+Ma+Mb+Ya+Yb+Yc+Yd; // получаем первое рабочее число
  
    SecondCH = (FirstCH/10)+(FirstCH%10); // получаем второе рабочее число
  
    ThrCH = FirstCH-2*Da; // получаем третье рабочее число
  
    FoCH = (ThrCH/10)+(ThrCH%10); // ну и наконец мы получили четвертое рабочее число...
 
    cout << "\n1-ый ряд, дата рождения : " << Da << Db << "." << Ma << Mb << "." << Ya << Yb << Yc << Yd << endl;
    cout << "\n2-ой ряд, рабочие числа : " << FirstCH << "; " << SecondCH << "; " << ThrCH << "; " << FoCH << "\n" << endl;
 
    mas[9] = Fa = FirstCH/10;
    mas[10] = Fb = FirstCH%10;
 
    mas[11] = Sa = SecondCH/10;
    mas[12] = Sb = SecondCH%10;
 
    mas[13] = Ta = ThrCH/10;
    mas[14] = Tb = ThrCH%10;
 
    mas[15] = FOa = FoCH/10;
    mas[16] = FOb = FoCH%10;
        
    for (int n=1; n<=9; n++)
        {   
            for (int i=1; i<=16; i++)
            {
                if (mas[i]==n) cout << mas[i];
            }
            cout << " "; 
        }
 
    cout << endl;
    system ("pause"); // пауза для продолжения. Функция system в библиотеке "stdlib.h"
 
    return 0;
}


Пока как-то так... немного наворочено, но наглядно, я думаю.
Тут еще просто выводится в строку... пока не было времени все причесать.

Нужно было написать квадрат Пифагора по дате рождения, как исправить?
Humster13
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 27
18.02.2014, 17:32 #12
Цитата Сообщение от Semen94 Посмотреть сообщение
т.е мне во всем коде заменить символ "/" на "%" ?
Не во всем, только в нужных местах.
Semen94
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 14
18.02.2014, 19:13  [ТС] #13
Humster13, странно у меня после ввода даты рождения дальше ничего не считает, просто закрывает окно компиляции
Humster13
3 / 3 / 1
Регистрация: 16.02.2014
Сообщений: 27
18.02.2014, 20:28 #14
Если мой код запускаешь в VS С++, то все должно работать. Запусти через F10, пошаговую отладку, посмотри на какой строке вырубается.

Ты мой код запускал, который скрыт "SPOILEROM"?

Нужно было написать квадрат Пифагора по дате рождения, как исправить?
Semen94
0 / 0 / 0
Регистрация: 17.02.2014
Сообщений: 14
18.02.2014, 21:17  [ТС] #15
Все сделал)) запускается и работает. Спасибо
а как мне теперь сделать, чтобы результат выдавало не в строку, а в квадратную матрицу?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2014, 21:17
Привет! Вот еще темы с ответами:

Цикл: Напишите программу, которая выводит на экран квадрат Пифагора – таблицу умножения. - C++
Решите пожалуйста задачу по программированию. Желательно с пояснениями. Напишите программу, которая выводит на экран квадрат Пифагора –...

По дате рождения определить возраст - C++
Доброго дня, я новичок в С++ и на вашем форуме тоже. НЕ получается одолеть эту программу: Необходимо написать функцию MyAge Параметр...

Сортировка студентов по дате рождения - C++
Всем привет. Нужно сортировать студентов по дате рождения. Вот мой код. Че то не получается #include &lt;iostream&gt; #include...

Квадрат Пифагора - психологический портрет по введенной дате рождения - Visual Basic
квадрат пифагора- пользователь задаёт дату рождения в виде 8 цифр. потом по определённому правилу формируется 2я строка тоже из 8 цифр на...


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

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

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