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

Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Alexlord
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
02.05.2012, 12:14     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел #1
Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел. Найти количество квадратов нечетных чисел среди компонентов.

Добавлено через 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
#include <iostream.h>
#include <cstdlib>
#include <time.h>
#include <fstream>
#include <cmath>
 
using namespace std;
 
int main()
{
srand (time(0));
int i,k,j=0;
const int n = 10;
int mass[10];
cout<<"massiv:\n";
for( i =0;i<n;i++)
{
mass[i]= rand()%100;
cout<<mass[i]<<" ";
}
{for( i =0;i<n;i++){
k=sqrt(mass[i]);
if(mass[i]==k*k&&k%2!=0){
j++;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2012, 12:14     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел
Посмотрите здесь:

Заполнить файл n натуральными числами с помощью генератора случайных чисел C++
C++ Записать в файл f N целых чисел, полученных с помощью генератора случайных чисел.
C++ Заполнение матрицы целыми числами с помощью генератора случайных чисел
Заполнить файл последовательного доступа f целыми числами,полученными с помощью генервтора случайных чисел. C++
C++ Заполнить файл f натуральными числами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amfisat
 Аватар для amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 235
02.05.2012, 13:11     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел #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
#include <cstdio>
#include <time.h>
#include <cstdlib>
#include <cmath>
 
int main()
{
    srand(time(NULL));
    const int n = 10;
    int arr[n];
 
    FILE* file;
    if ((file = fopen("file.txt","w")) == NULL)
    {
        printf ("Error in opening file for writing! \n"); 
        return 1;
    }
    
    for (int i=0; i<n; i++)
        fprintf(file, "%d ", rand() % 100);
    fclose(file);
 
    if ((file = fopen("file.txt","r")) == NULL)
    {
        printf ("Error in opening file for reading! \n"); 
        return 1;
    }
 
    int i = 0, c = 0;
    while (i<n)
        fscanf(file, "%d", &arr[i++]);
    fclose(file);
 
    for (int i=0; i<n; i++)
        for (int k=1; k<n; k++)
            if ((k % 2 != 0) && (sqrt(double(arr[i])) == k))
                c++;
    
    printf ("There are %d such numbers \n\n", c);
    return 0;
}
Alexlord
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
02.05.2012, 13:33  [ТС]     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел #3
Спасибо за код но в нем много ошибок. Так же хотелось написать как нибудь более просто.
Попытался подкорректировать, компилятор выдает 6 ошибок.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <time.h>
#include <fstream>
#include <fstream>
 
using namespace std;
 
int main()
{
int i,k,j=0;
const int n = 10;
int mass[10];
cout<<"massiv:\n";
for( i =0;i<n;i++)
{
mass[i]= rand()%100;
cout<<mass[i]<<" ";
}
{for (int i=0; i<n; i++)
        for (int k=1; k<n; k++)
            if ((k % 2 != 0) && (sqrt(double(arr[i])) == k))
                j++;
                    cout << "k" ;
amfisat
 Аватар для amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 235
02.05.2012, 14:17     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел #4
Мой код был основан на условии задачи:
Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел. Найти количество квадратов нечетных чисел среди компонентов.
Т.е. нужна работа с файлами.
Пример работы (с выводом получившегося массива для проверки) - во вложении. В этом примере только 9 является квадратом нечетного числа (3*3 = 9), остальные - нет (что легко проверяется).
Миниатюры
Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел  
Alexlord
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
02.05.2012, 20:47  [ТС]     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел #5
А если бы я взял константу/массив из 50 чисел?

И что означает строка: srand(time(NULL))?
castaway
Эксперт С++
4846 / 2985 / 368
Регистрация: 10.11.2010
Сообщений: 11,026
Записей в блоге: 10
Завершенные тесты: 1
02.05.2012, 20:55     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел #6
Цитата Сообщение от Alexlord Посмотреть сообщение
И что означает строка: srand(time(NULL))?
NULL - http://www.cplusplus.com/reference/c.../cstddef/NULL/
time - http://www.cplusplus.com/reference/clibrary/ctime/time/
srand - http://www.cplusplus.com/reference/c...cstdlib/srand/
amfisat
 Аватар для amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 235
02.05.2012, 23:18     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел #7
Цитата Сообщение от Alexlord Посмотреть сообщение
А если бы я взял константу/массив из 50 чисел?
Ну тогда вместо

Цитата Сообщение от amfisat Посмотреть сообщение
const int n = 10;
* * int arr[n];
можно написать так:
C++
1
2
3
4
int n;
cout << "Enter the number of numbers: ";
cin >> n;
int* arr = new int[n];
А дальше - по тексту.

Добавлено через 3 минуты
Цитата Сообщение от Alexlord Посмотреть сообщение
mass[i]= rand()%100;
В своем коде Вы тоже использовали ДСЧ - но почему-то не инициализировали его. А надо бы - и проводится эта инициализация именно с помощью srand(...).

Почитайте материал по ссылкам, которые любезно предоставил lazybiz - это стОит знать.
Alexlord
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
03.05.2012, 15:11  [ТС]     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел #8
Спасибо! Это ясно! Еще вопрос что означает ввод
C++
1
int arr[n]
?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2012, 15:29     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел
Еще ссылки по теме:

Заполнить массив из двадцати элементов первыми натуральными пятизначными числами C++
C++ Заполнить одномерный массив двадцатью первыми натуральными числами, кратными 5-ти или 7-ми
C++ Заполнить квадратную матрицу натуральными числами по спирали

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

Или воспользуйтесь поиском по форуму:
amfisat
 Аватар для amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 235
03.05.2012, 15:29     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел #9
Цитата Сообщение от Alexlord Посмотреть сообщение
Еще вопрос что означает ввод
Код C++
1
int arr[n]
Выделяем в памяти место для массива целых чисел размера n.
Yandex
Объявления
03.05.2012, 15:29     Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел
Ответ Создать тему
Опции темы

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