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

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

Войти
Регистрация
Восстановить пароль
 
fReekufa
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 39
#1

Задача на массив и поиск числа - C++

16.10.2013, 12:21. Просмотров 347. Ответов 2
Метки нет (Все метки)

Помогите пожалуйста с следующей задачей
В массиве целых чисел,расположенном в файле(кол-во чисел в фале произв-ое) найти все числа,начинающихся с цифры выбранной пользователем.Числа сильно различаются по величине(по кол-ву цифр в их написании).Предусмотреть ввод исходных данных из файла и генерацию этого файла с помощью генератора псевдослучайных чисел.Результат также сохранить в файле и вывести на экран

Добавлено через 12 часов 22 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream.h>
const int n=3;
  int i,j;
  double A[n][n];
void main()
{
    srand((unsigned)time(NULL));
    for (i=0; i<n; i++)
      for (j=0; j<n; j++)
          A[i][j]=rand()% 20000 -100;
      FILE*f;
      char fname[]="C:\\\\data.txt\0";
      f=fopen(fname, "w");
      for (i=0; i<n; i++)
          for (j=0; j<n; j++)
      fprintf(f,"%.0f\n",A[i][j]);
      fclose(f);
      cout<<"File is saved to disk C"<<endl;
}
Вот что есть у меня, помогите доделать пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 12:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача на массив и поиск числа (C++):

Задача на поиск числа среди введеных - C++
Вводим числа k,l,m - среди этих чисел вводятся два одинаковых, а третье является отличным от них. Необходимо переменной n присвоить...

Задача на поиск минимального\максимального числа - C++
Здравствуйте. Начал учить с++ относительно недавно. Решал задачу на поиск максимального и минимального числа. Вот решение: /*Дано...

Задача: массив, фильтр, выбор среднего числа - C++
Добрый день. Помогите пожалуйста решить задачу: дается массив, в нем рост игроков (20 шт) в см. надо найти кол-во игроков с ростом...

Поиск числа в двумерном массиве (бинарный поиск) - C++
Произвожу поиск элемента в массиве двумя способами: линейным(последовательным) поиском и бинарным(двоичным). Первый работает на ура. Второй...

Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив - C++
Нужна помощь! Срочно! Нужно ввести в программу строку (числа, латиница), считать только числа, записать числа в массив. Помогите,...

задача записать в массив отрицательные элементы матрицы в массив и вывести их - C++
задача записать в массив отрицательные элементы матрицы в массив и вывести их #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

2
dzrkot
zzzZZZ...
523 / 353 / 54
Регистрация: 11.09.2013
Сообщений: 2,036
16.10.2013, 14:15 #2

Не по теме:

с тебя мне на пиво))


вот, как всегда комменты не пишу, разбирайся)
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
//by kot
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <iomanip>
#include <fstream>
 
using namespace std;
 
int mod(int x,int y)
{
    int s=1;
    for(int i=1;i<=y;i++)
    s*=x;
return s;
}
void setFile(int sizeX,int sizeY)
{
cout<<"Created file \"text.txt\""<<endl;
ofstream file;
file.open("text.txt");
int* *b=new int*[sizeY];
 
    for (int y=0;y<sizeY;y++)
    {
    int* a=new int[sizeX];
        for(int x=0;x<sizeX;x++)
        {
        a[x]=1+rand()% 20000;
        }
    b[y]=&a[0];
    }
 
    for (int y=0;y<sizeY;y++)
    {
        for(int x=0;x<sizeX;x++)
        file<<setw(5)<<*(b[y]+x)<<" ";
    file<<"\n";
    }
    cout<<endl;
    file.close();
}
 
 
void readFile(int* b[],int sizeY, int sizeX)
{
ifstream file;
file.open("text.txt");
cout<<endl;
cout<<endl;
        for(int y=0;y<sizeY;y++)
        {
            int* a=new int[sizeX];
            for(int x=0;x<sizeX;x++)
            {
                file>>a[x];
            }
        b[y]=&a[0];
        }
    for (int y=0;y<sizeY;y++)
    {
        for(int x=0;x<sizeX;x++)
        cout<<setw(6)<<*(b[y]+x)<<" ";
    cout<<endl;
    }
}
 
void find(int* b[],int sizeX,int sizeY,int value)
{
cout<<"valie is :"<<value<<endl;
int c=0;
    for (int y=0;y<sizeY;y++)
    {
        for(int x=0;x<sizeX;x++)
        cout<<setw(6)<<*(b[y]+x)<<" ";
    cout<<endl;
    }
cout<<"\n\n";
    for (int y=0;y<sizeY;y++)
    {
        for(int x=0;x<sizeX;x++)
        {
            for (int counter=1;counter<=9;counter++)
                if (((*(b[y]+x))/(mod(10,counter)))==value)
                {
 
                c++;
                }
        }
    }
 
    if (c==0)
    cout<<"Sorry , but value = "<<value<<" haven't result :-("<<endl;
cout<<"number of answers: "<<c<<endl;
int *arrayValue=new int[c];
c=0;
    for (int y=0;y<sizeY;y++)
    {
        for(int x=0;x<sizeX;x++)
        {
            for (int counter=1;counter<=9;counter++)
                if (((*(b[y]+x))/(mod(10,counter)))==value)
                {
                cout<< *(b[y]+x)<<" \n";
                arrayValue[c]=*(b[y]+x);
                c++;
                }
        }
    }
 
ofstream file2;
file2.open("result.txt");
cout<<"Created file:\"result.txt\""<<endl;
    for (int y=0;y<c;y++)
    {
    file2<<arrayValue[y]<<" ";
    }
 
}
 
 
int main()
{
srand(time(0));
int sizeX,sizeY,value;
cout<<"Enter size x:";
cin>>sizeX;
cout<<"Enter size Y:";
cin>>sizeY;
int* *b=new int*[sizeY];
 
cout<<"\nfunction setFile:";
setFile(sizeX,sizeY);
cout<<"\nfunction read";
readFile(b,sizeY, sizeX);
 
cout<<"\Please enter find value:";
cin>>value;
cout<<"\nfunction find:\n";
find(b,sizeX,sizeY,value);
 
delete[]b;
return 0;
}
1
fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
16.10.2013, 15:23 #3
Для разнообразия мой вариант:
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 <cstdlib>
#include <iostream>
#include <fstream>
#include <ctime>
 
int main(int argc, char* argv[])
{
    srand(time(NULL));
    int select,tempint;
    std::ofstream outFile;
    std::ifstream inpFile;
    char digit,temp[10];
        
    std::cout<<"Select operation:\n"
    <<"1 - Read from file\n"
    <<"2 - Generate random\n";
    std::cin>>select;
    
    switch (select)
    {
    case 1:
    {
        inpFile.open(argv[1]);
        break;
    }
    case 2:
    {
        outFile.open(argv[1]);        
 
        if (outFile.fail())          
        {
            rename(tmpnam(NULL),argv[1]);
            outFile.open(argv[1]);      
        }
          
        int quant;            
        std::cout<<"Kolichestvo chisel:\n";
        std::cin>>quant;
        for (int i=0;i<quant;++i)
        {
            int num1=rand();
            outFile << num1 <<" "; 
        }
        outFile.close();
        inpFile.open(argv[1]);
        break;
    }    
    }
    std::cout<<"Enter digit:\n";
    std::cin>>digit;
    
    std::cout<<"Save result into:\n"
    <<"1 - Screen\n"
    <<"2 - File\n";
    std::cin>>select;
    switch (select)
    {
    case 1:
    {
        while(inpFile>>tempint)
        {
            sprintf(temp,"%d",tempint);
            if(temp[0]==digit) std::cout<<temp<<" ";
        } 
        break;       
    }
    case 2:
    {
        outFile.open(argv[2]);      
        while(inpFile>>tempint)
        {
            sprintf(temp,"%d",tempint);
            if(temp[0]==digit) outFile<<temp<<" ";
        }
        outFile.close();
        break;
    }
    }
        
    return 0;
}
В качестве аргументов программа принимает входящий и исходящий файлы. Например
Код
project1 "D:\input.txt" "D:\output.txt"
pause
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 15:23
Привет! Вот еще темы с ответами:

Задача на массив и указатели.(массив из случайных чисел) - C++
Найти абсолютное значение,которое чаще остальных встречается в массиве. #include&lt;stdio.h&gt; #include&lt;time.h&gt; #include&lt;stdlib.h&gt; ...

Задача на поиск максимума - C++
Задача с (acm.timus.ru) Вот условия Рассмотрим последовательность чисел ai, i = 0, 1, 2, …, удовлетворяющих следующим условиям: a0 =...

Задача на поиск цифр - C++
Помогите организовать поиск цифр из предложения, которые где есть цифры, буквы, символы. Как задать функцию этого поиска цифр? ...

Поиск в матрице, задача - C++
Итак форум ваш мне очень понравился по тому как мало людей которые дают ненужные советы, а только дельные слова. Сама проблема...


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

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

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