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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Alexlord
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
#1

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

02.05.2012, 12:14. Просмотров 2258. Ответов 8
Метки нет (Все метки)

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

Заполнить файл n натуральными числами с помощью генератора случайных чисел - C++
Как-то даже неудобно спрашивать. Ребят, но если не трудно помогите пожалуйста. 1. Заполнить файл n натуральными числами с помощью...

Заполнить файл целыми 30 числами, полученными с генератора случайных чисел - C++
Заполнить файл целыми 20 числами, полученными с помощью генератора случайных чисел в интервале от 0 до 200. Вывести результат на экран. ...

Заполнить файл целыми 30 числами, полученными с генератора случайных чисел в интервале от -100 до 100 - C++
1.Заполнить файл целыми 30 числами, полученными с помощью генератора случайных чисел в интервале от -100 до 100. Вывести на экран...

Заполнить файл последовательного доступа f целыми числами,полученными с помощью генервтора случайных чисел. - C++
Доброго времени суток. помогите написать программу. Заполнить файл последовательного доступа f целыми числами,полученными с помощью...

Заполнить файл f натуральными числами - C++
Здравствуйте, помогите решить в консоле. я решил на паскале, ну как в с++ это реализовать. Вот задания: Заполнить файл f натуральными...

Заполнить файл f натуральными числами - C++
Здравствуйте, первый день на форуме, помогите пожалуйста с задачей: 1-е условие: Заполнить файл f натуральными числами, полученными с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
02.05.2012, 13:11 #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;
}
0
Alexlord
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
02.05.2012, 13:33  [ТС] #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" ;
0
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
02.05.2012, 14:17 #4
Мой код был основан на условии задачи:
Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел. Найти количество квадратов нечетных чисел среди компонентов.
Т.е. нужна работа с файлами.
Пример работы (с выводом получившегося массива для проверки) - во вложении. В этом примере только 9 является квадратом нечетного числа (3*3 = 9), остальные - нет (что легко проверяется).
0
Миниатюры
Заполнить файл f натуральными числами, полученными с помощью генератора натуральных чисел  
Alexlord
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
02.05.2012, 20:47  [ТС] #5
А если бы я взял константу/массив из 50 чисел?

И что означает строка: srand(time(NULL))?
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
02.05.2012, 20:55 #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/
0
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
02.05.2012, 23:18 #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 - это стОит знать.
0
Alexlord
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
03.05.2012, 15:11  [ТС] #8
Спасибо! Это ясно! Еще вопрос что означает ввод
C++
1
int arr[n]
?
0
amfisat
67 / 67 / 1
Регистрация: 16.06.2009
Сообщений: 240
03.05.2012, 15:29 #9
Цитата Сообщение от Alexlord Посмотреть сообщение
Еще вопрос что означает ввод
Код C++
1
int arr[n]
Выделяем в памяти место для массива целых чисел размера n.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2012, 15:29
Привет! Вот еще темы с ответами:

Заполнение матрицы целыми числами с помощью генератора случайных чисел - C++
1.Матрицу 8*8 заполнить целыми числами с помощью генератора случайных чисел. 2.Найти определитель. 3.Найти min и max элементы матрицы. ...

Записать в файл f N целых чисел, полученных с помощью генератора случайных чисел. - C++
Помогите пожалуйста с задачей. Записать в файл f N целых чисел, полученных с помощью генератора случайных чисел. Заполнить файл g...

Заполнить матрицу последовательными натуральными числами - C++
1.Сформировать матрицу по следующему правилу 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...

Заполнить квадратную матрицу натуральными числами по спирали - C++
Составить программу, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, …, n2, записывая их в нее «по спирали»...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.05.2012, 15:29
Ответ Создать тему
Опции темы

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