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

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

Войти
Регистрация
Восстановить пароль
 
Трих
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 16
#1

Найдите первые по порядку натуральные числа с различными цифрами - C++

09.12.2009, 15:55. Просмотров 682. Ответов 9
Метки нет (Все метки)

Люди кто сможет решить задачу..? Задача на C++

Найдите первые N(1<=N<=8877690) по порядку натуральные числа с различными цифрами. Первым таким числом считайте 1. Например : N=20 Ответ: 1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2009, 15:55     Найдите первые по порядку натуральные числа с различными цифрами
Посмотрите здесь:
C++ Дано натуральное число с различными цифрами. Определить, максимальная цифра числа расположена ближе к началу или концу числа
Существуют натуральные числа равные сумме кубов своих цифр. Найдите такие числа в заданном интервале C++
Введите 2 натуральные числа и найдите их наименьшее общее кратное. C++
Найдите такие натуральные числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7 C++
C++ Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых , равен m
Найти все первые по порядку положительные элементы строк квадратной матрицы C++
Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
09.12.2009, 16:04     Найдите первые по порядку натуральные числа с различными цифрами #2
Если я правильно понял задание
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
int main(void)
{
  long i,k;
  cout<<"Vvedite N (do kakogo): ";
  cin>>k;
    for (i=1;i<=k;i++)
    {
      if (i!=k)
        cout<<i<<", ";
      else
        cout<<i<<".";
    }
}
Трих
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 16
09.12.2009, 16:08  [ТС]     Найдите первые по порядку натуральные числа с различными цифрами #3
C:\Users\Òðèõ\Desktop\Text1.cpp(5) : error C2065: 'cout' : undeclared identifier
C:\Users\Òðèõ\Desktop\Text1.cpp(5) : error C2297: '<<' : illegal, right operand has type 'char [24]'
C:\Users\Òðèõ\Desktop\Text1.cpp(6) : error C2065: 'cin' : undeclared identifier
C:\Users\Òðèõ\Desktop\Text1.cpp(6) : warning C4552: '>>' : operator has no effect; expected operator with side-effect
C:\Users\Òðèõ\Desktop\Text1.cpp(10) : error C2297: '<<' : illegal, right operand has type 'char [3]'
C:\Users\Òðèõ\Desktop\Text1.cpp(12) : error C2297: '<<' : illegal, right operand has type 'char [2]'
C:\Users\Òðèõ\Desktop\Text1.cpp(14) : warning C4508: 'main' : function should return a value; 'void' return type assumed
Error executing cl.exe.

Text1.exe - 5 error(s), 2 warning(s)
Вот такие ошибки выдало...
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2009, 16:11     Найдите первые по порядку натуральные числа с различными цифрами #4
Трих, попробуй вместо
C++
1
#include <iostream>
набрать
C++
1
2
#include <iostream>
using namespace std;
и main:
C++
1
main()
Кирюха
32 / 30 / 2
Регистрация: 10.11.2009
Сообщений: 123
09.12.2009, 16:11     Найдите первые по порядку натуральные числа с различными цифрами #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
void main(void)
{
  long i,k;
  cout<<"Vvedite N (do kakogo): ";
  cin>>k;
    for (i=1;i<=k;i++)
    {
      if (i!=k)
        cout<<i<<", ";
      else
        cout<<i<<".";
    }
}
Трих
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 16
09.12.2009, 16:16  [ТС]     Найдите первые по порядку натуральные числа с различными цифрами #6
Спасибо Вам большое Век не забуду....
Darky
Быдлокодер
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
09.12.2009, 16:17     Найдите первые по порядку натуральные числа с различными цифрами #7
vet, Не люблю другой мэйн ставить. Например MinGW другой мэйн кроме int компилить отказывается.
Кирюха, Тогда уж так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <conio.h>
using namespace std;
void main(void)
{
  long i,k;
  cout<<"Vvedite N (do kakogo): ";
  cin>>k;
    for (i=1;i<=k;i++)
    {
      if (i!=k)
        cout<<i<<", ";
      else
        cout<<i<<".";
    }
getch();
}
Трих
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 16
09.12.2009, 16:17  [ТС]     Найдите первые по порядку натуральные числа с различными цифрами #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
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#include <iostream>
#include <locale.h>
 
#define N 8
 
using std::cout;
using std::endl;
using std::cin;
 
class MB
{
private:
    int mas[8][8]; // igrovoe pole
    int Find(int k, int leng, int ship);
    void hF1(int i, int j, int ship);
    void wF1(int i, int j, int ship);
public:
    MB();
    void ShowField();
    int ShipOne();
    void InputField();
    int ShipFind(int ship, int leng);
};
MB::MB()
{
    for(int i = 0;  i < N;  i++)
    {
      for(int j = 0;  j < N;  j++)
       mas[i][j] = 0;
    }
}
void MB::ShowField() // Vvivod igrovogo polia
{
    cout<<"    Igrovoe pole  "<< endl;
    cout<<"  "<<"12345678\n"<<endl;
    for(int i = 0;  i < N; i++)
    {
      cout<< i+1 <<" ";
      for(int j = 0;  j < N; j++)
      {
        if(mas[i][j] != 0)
          cout<<mas[i][j];
        else cout<<" ";
      }
        cout<<endl;
    }
}
int MB::ShipFind(int ship, int leng)
{
    int count = 0,k=0;
 
    for(int i = 0;  i < N;  i++)
    {
      for(int j =0;  j < N;  j++)
       if(mas[i][j]==ship && mas[i][j+1]==ship)
        count++;
       
       if(count==leng-1) k++;
 
       count = 0;
    }
return Find(k,leng,ship);
}
int MB::Find(int k, int leng, int ship)
{
   int count = 0;
 
    for(int j = 0;  j < N;  j++)
    {
      for(int i =0;  i < N;  i++)
       if(mas[i][j]==ship && mas[i+1][j]==ship)
        count++;
       
       if(count==leng-1) k++;
 
       count = 0;
    }
   return k;
}
void MB::InputField()
{
  int i1, j1,tipe;
  int ch;
  char q;
  while(true)
  {
    system("cls");
    ShowField(); 
    cout<<"Exit (Q) "; cin>>q;
    if(q=='Q') break;
 
    cout<<"Vvedite pozicii koroblia i,j : "; cin>>i1; cin>>j1;
    if(i1 >= 0 && i1 < 8 && j1 >= 0 &&  j1 < 8)
    {
        cout<<"Vvedite koli4estvo korabley(1,2,3,4) i polozhenie(h=0,w=1:) "; cin>> tipe >> ch;
        
        if(tipe >=1 && tipe <= 4)
        {
          i1--; j1--; 
          if(ch==0)
             hF1(i1,j1,tipe);
           else if(ch==1)
              wF1(i1,j1,tipe);
        }
        else break;
    }
    else{ cout<<"Vi vishli za predeli polia\n"; break; }
  }    
}
void MB::hF1(int i, int j, int ship)
{
 if(i+ship-1 < 8)
 {
  for(int i1 = i;  i1 <=i+ship-1;  i1++)
    mas[i1][j]= ship;
 }
 else cout<<"Vixod za granicu polia \n";
}
void MB::wF1(int i, int j, int ship)
{
  if(j+ship-1 < 8)
  {
   for(int j1=j;  j1 <= j+ship-1; j1++)
     mas[i][j1] = ship;
  }
  else cout<<"Vixod za granicu polia \n";
}
int MB::ShipOne()
{
    int count = 0;
 
    for(int i = 0;  i < N;  i++)
     for(int j = 0;  j < N;  j++)
     if(mas[i][j]==1) count++;
 
return count;
}
int main()
{
  MB t;
  system("color f1");
  setlocale(LC_ALL,"Rus");
  t.InputField();
  cout<<endl;
  cout<<"Naydenoe koli4estvo korabley \n";
  cout<<"Odnopalubniy  : "<< t.ShipOne() <<endl;
  cout<<"Dvupalubniy : "<< t.ShipFind(2,2) <<endl;
  cout<<"Trexpalubniy : "<< t.ShipFind(3,3) <<endl;
  cout<<"Chetirexpalubniy : "<< t.ShipFind(4,4) <<endl;
 
return 0;
}
Скажите еще пожалуйста почему пишу любые значения а выбивает 0 постоянно
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
09.12.2009, 16:22     Найдите первые по порядку натуральные числа с различными цифрами #9
Darky, я написал
C++
1
main()
потому что скажем Dev C++
C++
1
void main(void)
не переваривает и требует чтоб main() возвращал int
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2009, 18:26     Найдите первые по порядку натуральные числа с различными цифрами
Еще ссылки по теме:
Числа, представимые разностью квадрата числа, образованного первыми двумя цифрами и квадратом 3-ей цифры C++
C++ Перевод числа из одной с.с. в другую, манипуляции с цифрами числа
C++ Вывести все трехзначные числа, квадраты которых оканчиваются тремя цифрами, которые и составляют искомые числа
C++ Найти все трехзначные числа, квадраты которых оканчиваются тремя цифрами, которые и составляют искомые числа
C++ Даны натуральные числа a,b(a<= Ь). Получить все простые числа р, удовлетворяющие неравенствам a<= р<= b.

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

Или воспользуйтесь поиском по форуму:
Трих
0 / 0 / 0
Регистрация: 27.11.2009
Сообщений: 16
09.12.2009, 18:26  [ТС]     Найдите первые по порядку натуральные числа с различными цифрами #10
Ну помогите пожалуйста с морским боем...последняя в теме задача..

Добавлено через 1 час 51 минуту
Люди прошу посмотрите задачу про Морской бой...вот почему у меня там выбивает в конце результат 0, а не определённое кол-во кораблей
Yandex
Объявления
09.12.2009, 18:26     Найдите первые по порядку натуральные числа с различными цифрами
Ответ Создать тему
Опции темы

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