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

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

Войти
Регистрация
Восстановить пароль
 
Имя)))
0 / 0 / 0
Регистрация: 27.12.2011
Сообщений: 15
#1

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

17.12.2012, 19:31. Просмотров 352. Ответов 7
Метки нет (Все метки)

В общем создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользователем. все время выводит 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2012, 19:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос создал прогу, которая должна каждый раз рандомно записывать числа в массив и находить сколько чисел есть которые начинаются с цифры заданной пользоват (C++):

Разработать программу, которая в заданной строке подсчитывает, сколько раз повторяется каждый символ - Turbo Pascal
Разработать программу, которая в заданной строке подсчитывает, сколько раз повторяется каждый символ, и выводит на экран символ, наиболее...

Сколько существует пятизначных чисел? Сколько среди них таких, которые начинаются на 2 и заканчиваются 5? - Комбинаторика
Сколько существует пятизначных чисел? Сколько среди них таких что начинаются на 2 и заканчиваются 5?

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

Найти сколько чисел на отрезке x; y начинаются с цифры 8 в шестнадцатеричной записи - C++
Ребят, у меня вопрос! зависит ли от того, в какой системе первоначально даны х и у найти сколько чисел на отрезке x;y начинаются с...

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

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

7
v.a.l.i.d
413 / 378 / 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 / 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++;
а это разве не то же самое?
0
v.a.l.i.d
413 / 378 / 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 / 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;
}
0
v.a.l.i.d
413 / 378 / 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 / 0
Регистрация: 27.12.2011
Сообщений: 15
17.12.2012, 20:55  [ТС] #7
Эм.. а как это исправить?
0
v.a.l.i.d
413 / 378 / 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 можно убрать.
1
17.12.2012, 21:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2012, 21:03
Привет! Вот еще темы с ответами:

Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи - C++
Найти, сколько чисел на отрезке [x;y) начинаются с цифры 8 в шестнадцатеричной записи. Использовать s - прибавление 1, =, &lt;, +, -, *, : -...

Написат ьпрограмму, которая будет находить и печатать такие группы, в которые буква "a" входит не менее 2 раз. - Turbo Pascal
Добрый вечер. Хотел попросить помощи в решении задачи на строки , в турбо паскале. Преподаватель дал условие, что задача не может быть...

Написать функцию, которая определяет количество слов массива, которые начинаются с заданной буквы - C++
Еще задание: В масиве символов длинной 80, записаны слова, которые розделяються последовательностью символов &quot;\0&quot;. Написать функцию,...

Массив. Найти произведение четных двухзначных элементов,которые начинаются с цифры 5,6 и 7 - Pascal ABC
Дан массив из 30 элементов.Каждый элемент принимает значения от 0 до 100.Найти произведение четных двухзначных элементов,которые начинаются...


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

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

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