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

Преобразование 'time_t' в 'unsigned int' - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.96
Нотка
0 / 0 / 0
Регистрация: 14.10.2010
Сообщений: 18
02.11.2010, 22:38     Преобразование 'time_t' в 'unsigned int' #1
Массив предназначен для хранения значений ростов двенадцати человек. С помощью датчика случайных чисел заполнить массив целыми значениями, лежащими в диапазоне от 163 до 190 включительно. На основе данных массива вычислить:
а) среднее арифметическое значение роста и вывести его на экран;
б) минимальное значение роста и индекс соответствующего элемента массива (если таких элементов несколько, вернуть индекс первого встретившегося).
Распечатать элементы массива в прямом и обратном порядке.

И всё вроде бы ничего, программу я написала, но
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 "stdafx.h"
#include <iostream>
#include <new>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int *mas,i,j,sr_rost,imin,min,sum=0;
const int n=12;
mas=new int[n];
if((mas=new int[n])==NULL)
{
    cout<<"Out of memory!"<<'\n';
    return 1;
}
for (i=0,i<n,i++)
mas[i]=rand()%190+163;
 
for (i=0,i<n,i++)
cout<<"mas["<<i<<"]="<<mas[i]<<'\n';
 
for (i=n,i>0,i--)
cout<<"mas["<<i<<"]="<<mas[i]<<'\n';
 
for (i=0,i<n,i++)
sum+=mas[i];
sr_rost=sum/n;
cout<<"sr_rost="<<sr_rost<<'\n';
 
min=mas[0];
imin=0;
for(i=0;i<n;i++) 
if((mas[i])<min) 
{ 
min=mas[i];
imin=i;
}
cout<<"min="<<min<<"imin="<<imin<<'\n';
return 0;
}
Код
1>e:\студенчество\информатика\4 лаба\1\1\1.cpp(8) : warning C4244: аргумент: преобразование 'time_t' в 'unsigned int', возможна потеря данных
1>e:\студенчество\информатика\4 лаба\1\1\1.cpp(17) : error C2143: синтаксическая ошибка: отсутствие ";" перед ")"
1>e:\студенчество\информатика\4 лаба\1\1\1.cpp(17) : error C2143: синтаксическая ошибка: отсутствие ";" перед ")"
1>e:\студенчество\информатика\4 лаба\1\1\1.cpp(20) : error C2143: синтаксическая ошибка: отсутствие ";" перед ")"
1>e:\студенчество\информатика\4 лаба\1\1\1.cpp(20) : error C2143: синтаксическая ошибка: отсутствие ";" перед ")"
1>e:\студенчество\информатика\4 лаба\1\1\1.cpp(23) : error C2143: синтаксическая ошибка: отсутствие ";" перед ")"
1>e:\студенчество\информатика\4 лаба\1\1\1.cpp(23) : error C2143: синтаксическая ошибка: отсутствие ";" перед ")"
1>e:\студенчество\информатика\4 лаба\1\1\1.cpp(26) : error C2143: синтаксическая ошибка: отсутствие ";" перед ")"
1>e:\студенчество\информатика\4 лаба\1\1\1.cpp(26) : error C2143: синтаксическая ошибка: отсутствие ";" перед ")"
Никак не могу понять, в чём дело. Помогите, люди добрые!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volovzi
266 / 168 / 8
Регистрация: 14.03.2010
Сообщений: 501
02.11.2010, 22:40     Преобразование 'time_t' в 'unsigned int' #2
Тебе же компилятор русским языком говорит: в цикле for нужно использовать точку с запятой, а не запятую .
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
02.11.2010, 22:42     Преобразование 'time_t' в 'unsigned int' #3
C++
1
srand((unsigned)time(NULL));
Нотка
0 / 0 / 0
Регистрация: 14.10.2010
Сообщений: 18
02.11.2010, 22:44  [ТС]     Преобразование 'time_t' в 'unsigned int' #4
Цитата Сообщение от volovzi Посмотреть сообщение
Тебе же компилятор русским языком говорит: в цикле for нужно использовать точку с запятой, а не запятую .
а я битый час сижу, смотрю на листинг не никак не увижу такую мелочь
Нотка
0 / 0 / 0
Регистрация: 14.10.2010
Сообщений: 18
02.11.2010, 22:49  [ТС]     Преобразование 'time_t' в 'unsigned int' #5
И получилась у меня такая вот гадость
Миниатюры
Преобразование 'time_t' в 'unsigned int'  
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
02.11.2010, 22:53     Преобразование 'time_t' в 'unsigned int' #6
Зачем использовать new, если

Цитата Сообщение от Нотка Посмотреть сообщение
const int n=12;
Нотка
0 / 0 / 0
Регистрация: 14.10.2010
Сообщений: 18
02.11.2010, 22:59  [ТС]     Преобразование 'time_t' в 'unsigned int' #7
Цитата Сообщение от MILAN Посмотреть сообщение
Зачем использовать new, если
Нам нужно массив задать статически, но при этом выполнить проверку памяти. А как сделать её в таком случае?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2010, 23:53     Преобразование 'time_t' в 'unsigned int'
Еще ссылки по теме:

C++ Определение типов. Приведение int к unsigned int
Vector<unsigned char> в int C++
C++ Создать массив объединений, содержащих поля unsigned int и float

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

Или воспользуйтесь поиском по форуму:
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
02.11.2010, 23:53     Преобразование 'time_t' в 'unsigned int' #8
Может както так

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
#include <iostream>
#include <new>
#include <ctime>
using namespace std;
int main()
{
srand((unsigned)time(NULL));
int i,sr_rost,imin,min,sum=0;
const int n=12;
int mas[n];
if((&(mas[n]))==NULL)
{
        cout<<"Out of memory!"<<'\n';
        return 1;
}
for (i=0;i<n;i++)
{
   mas[i]=rand()%27+163;
   cout<<"mas["<<i<<"]="<<mas[i]<<'\n';
}
cout<<"\n";
for (i=n-1;i>=0;i--)
{
    cout<<"mas["<<i<<"]="<<mas[i]<<'\n';
}
for (i=0;i<n;i++)
{
     sum+=mas[i];
}
sr_rost=sum/n;
cout<<"sr_rost="<<sr_rost<<'\n';
 
min=mas[0];
imin=0;
for(i=0;i<n;i++) 
{
if((mas[i])<min) 
{ 
min=mas[i];
imin=i;
}
}
cout<<"min="<<min<<"imin="<<imin<<'\n';
return 0;
}
Yandex
Объявления
02.11.2010, 23:53     Преобразование 'time_t' в 'unsigned int'
Ответ Создать тему
Опции темы

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