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

Ошибки при реализации - C++

Восстановить пароль Регистрация
 
Luna17
 Аватар для Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 18:20     Ошибки при реализации #1
4) Объявить массив из 3 указателей на вещественные переменные, переменные разместить в: a) статической памяти, b) динамической памяти. Задать значение переменной через имена указателей.
a)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// DFFF.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include "stdlib.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
float *n[2];
int i;
for (i=0; i<2; i++)
  n[i]=rand()%10;
return 0;
}
1>Компиляция...
1>DFFF.cpp
1>c:\users\вероника\documents\visual studio 2008\projects\dfff\dfff\dfff.cpp(12) : error C2440: =: невозможно преобразовать 'int' в 'float *'
1> Для преобразования из целого типа в указатель требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>Журнал построения был сохранен в "file://c:\Users\Вероника\Documents\Visual Studio 2008\Projects\DFFF\DFFF\Debug\BuildLog.htm"
1>DFFF - ошибок 1, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

b)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.05.2010, 18:29     Ошибки при реализации #2
Цитата Сообщение от Luna17 Посмотреть сообщение
C++
1
2
3
float *n[2];
for (i=0; i<2; i++)
n[i]=rand()%10;
У Вас массив указателей, а Вы пытаетесь им значения типа float присваивать...
Тогда уж как-то так:
C++
1
2
3
4
5
...
double *arr[2];
for ( int i = 0; i < 2; ++i )
  arr[i] = new double(static_cast<double>(rand() % 10));
...
только удалить потом не забывайте
C++
1
2
3
4
...
for ( int i = 0; i < 2; ++i )
  delete arr[i];
...
Luna17
 Аватар для Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 18:45  [ТС]     Ошибки при реализации #3
А как задать Задать значение переменной через имена указателей
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "stdlib.h"
 
int main()
{
double *n[3];
for ( int i=0; i<3; i++)
{
 n[i] = new double (static_cast<double>(rand() % 10));
}
for ( int i = 0; i < 2; ++i )
{
  delete n[i];
}
 return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.05.2010, 18:56     Ошибки при реализации #4
Luna17, ну нельзя так невнимательно относиться! Сколько памяти выделено, столько нужно и вернуть. А у Вас выделяется память для трёх указателей, а возвращается только от двух...
Luna17
 Аватар для Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 18:57  [ТС]     Ошибки при реализации #5
Каюсь, невнимательна
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include "stdlib.h"
 
int main()
{
double *n[3];
for ( int i=0; i<3; i++)
{
 n[i] = new double [static_cast<double>(rand() % 10)];
}
for ( int i = 0; i < 3; ++i )
{
  delete n[i];
}
 return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.05.2010, 19:26     Ошибки при реализации #6
Luna17, теперь почему-то скобки квадратные...
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int main(){
    const int SIZE = 3;
    double *d[SIZE];
 
    srand(time(NULL));
    for ( int i = 0; i < SIZE; ++i ){
        // создали в памяти три переменных double
        d[i] = new double(static_cast<double>(rand() % 10) / 10.0 );
    }
    for ( int i = 0; i < SIZE; ++i ){
        // что-нибудь с ними сделали
        std::cout << *d[i] << std::endl;
    }
    for ( int i = 0; i < SIZE; ++i ){
        // и удалили
        delete d[i];
    }
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2010, 19:41     Ошибки при реализации
Еще ссылки по теме:

C++ Ошибки в реализации класса Vector3D
C++ Неопределенная ссылка при многофайловой реализации шаблона
Преимущества и недостатки при реализации стека, очереди и дека через дин. массива C++

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

Или воспользуйтесь поиском по форуму:
Luna17
 Аватар для Luna17
3 / 3 / 1
Регистрация: 09.03.2010
Сообщений: 95
27.05.2010, 19:41  [ТС]     Ошибки при реализации #7
Цитата Сообщение от easybudda Посмотреть сообщение
Luna17, теперь почему-то скобки квадратные...
я думала что там массив, терь понимаю что ошибалась
Yandex
Объявления
27.05.2010, 19:41     Ошибки при реализации
Ответ Создать тему
Опции темы

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