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

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

Восстановить пароль Регистрация
 
Имя)))
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 15
17.12.2012, 19:31     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват #1
В общем создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользователем. все время выводит 0.
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream.h>
const int n=9;
int m, s, d;
   double A[n];
   int i,j;
    int sumx=0;
    double N=0;
int perv_cifr(int b)
 
{
        while(b>9)
        {
                b/=10;
        }
        return b;
}
 
 
int main()
{
    srand((unsigned)time(NULL));
    for (i=0; i<n; i++)   
          A[i]=rand()% 200 -100;
      FILE*f;
      char fname[]="C:\\\\data.txt\0";
      f=fopen(fname, "w");
      for (i=0; i<n; i++)
          
      fprintf(f,"%.0f\n",A[i]);
      fclose(f);
      cout<<"Chisla sgenerirovani"<<endl;
      cout<<"Vvedite chifry"<<endl;
      cin>>m;
  
    
        
        
       int *arr = new int[n];
           
        
         for( j = 0; j < n; j++)
        //проверка на первую цифру числа ==5      
         if( perv_cifr(arr[i])==m ) 
         N++;
                   
         
         cout<<"vsego chisel "<<N<<endl;
        delete [] arr;
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2012, 19:31     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват
Посмотрите здесь:

C++ Вычислить, сколько раз каждый элемент массива входит в массив
Разработать программу,которая определяет сколько раз меняется знак заданной целочисленной последовательности C++
C++ Дан массив целых чисел. Определить все уникальные числа в массиве и сколько раз каждое из них встречается в массиве.
C++ Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи
C++ Найти сколько чисел на отрезке [x;y] начинаются с цифры 8 в шестнадцатеричной записи.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
17.12.2012, 19:54     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват #2
Здесь нужно еще добавить цикл где будут подсчитываться числа
C++
1
2
3
4
5
6
7
8
9
int number;
 
cout << "Enter number: ";
cin >> number;
 
int kol=0;
for (int i=0; i<n; i++)
    if (perv_cirf(A[i] == number)
        kol++;
Имя)))
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 15
17.12.2012, 20:02  [ТС]     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват #3
C++
1
2
3
4
5
6
 cout<<"Vvedite chifry"<<endl;
      cin>>m;
for( j = 0; j < n; j++)
        //проверка на первую цифру числа ==5      
         if( perv_cifr(arr[i])==m ) 
         N++;
а это разве не то же самое?
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
17.12.2012, 20:11     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват #4
Цитата Сообщение от Имя))) Посмотреть сообщение
for( j = 0; j < n; j++)
* * * * //проверка на первую цифру числа ==5 * * *
* * * * *if( perv_cifr(arr[i])==m )
Здесь неправильно. Индексы разные.
for( j = 0; j < n; j++)
//проверка на первую цифру числа ==5
if( perv_cifr(arr[i])==m )
Имя)))
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 15
17.12.2012, 20:18  [ТС]     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват #5
Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
int number;
cout << "Enter number: ";
cin >> number;
int kol=0;
for (int i=0; i<n; i++)
* * if (perv_cirf(A[i] == number)
* * * * kol++;
ни чего не изменилось

Добавлено через 4 минуты
ну я индексы поменял, а 5 это с другой программы.
но все равно не фуричит.
Выводит 0 и всё.

Добавлено через 1 минуту
Если быть точнее то сейчас прога выглядит так:
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream.h>
const int n=9;
int m, s, d;
   double A[n];
   int i,j;
    int sumx=0;
    int N=0;
int perv_cifr(int b)
 
{
        while(b>9)
        {
                b/=10;
        }
        return b;
}
 
 
int main()
{
    srand((unsigned)time(NULL));
    for (i=0; i<n; i++)   
          A[i]=rand()% 200 -100;
      FILE*f;
      char fname[]="C:\\\\data.txt\0";
      f=fopen(fname, "w");
      for (i=0; i<n; i++)
          
      fprintf(f,"%.0f\n",A[i]);
      fclose(f);
      cout<<"Chisla sgenerirovani"<<endl;
      cout<<"Vvedite chifry"<<endl;
      cin>>m;
  
    
        
        
       int *arr = new int[n];
           
        
         for( i = 0; i < n; i++)
      
         if( perv_cifr(arr[i])==m ) 
         N=N+1;
                   
         
         cout<<"vsego chisel "<<N<<endl;
         
        delete [] arr;
        return 0;
}
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
17.12.2012, 20:46     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват #6
Массив arr ничем не заполнен:

Цитата Сообщение от Имя))) Посмотреть сообщение
int *arr = new int[n];
for( i = 0; i < n; i++)
if( perv_cifr(arr[i])==m )
Сначала в него нужно что-то записать

Наверно в этом и есть ошибка
Имя)))
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 15
17.12.2012, 20:55  [ТС]     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват #7
Эм.. а как это исправить?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2012, 21:03     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват
Еще ссылки по теме:

Найти сколько чисел на отрезке [x;y] начинаются с цифры 8 в шестнадцатеричной записи C++
C++ для вводимого с клавиатуры числа определить сколько раз подряд оно делиться без оcтатка на цифры от 2 до 9.
В массиве из целых чисел найти среднее арифметическое тех чисел, которые начинаются с цифры 5 C++

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

Или воспользуйтесь поиском по форуму:
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
17.12.2012, 21:03     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват #8
C++
1
2
3
for (i=0; i<n; i++)
    if (perv_cifr(A[i]) == m)
        N = N + 1;
А строчки 41-47 можно убрать.
Yandex
Объявления
17.12.2012, 21:03     создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват
Ответ Создать тему
Опции темы

Текущее время: 12:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru