20.09.2011 / 13:17 | |
blood_elf Пользователь Сейчас: Offline
Имя: димa Регистрация: 06.04.2011
| Дайте пожалуйста прямую ссылку на книгу по c++.
|
20.09.2011 / 15:52 | |
RGT Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| В одномерном массиве целых чисел заменить минимальное значение средним арифметическим его элементов, находящихся на четных позициях.Написать с использованием динамического одномерного массива. Саму программу я и сам напишу, но что-то с динамическими массивами не могу разобраться...
__________________
don't tread on me |
20.09.2011 / 19:38 | |
RedSky Пользователь Сейчас: Offline
Имя: Arsen Регистрация: 31.07.2011
| RGT, Разве в С++ есть динамические массивы? Он, вроде, умеет работать только со статическими данными, исключение dynamic_cast.
|
20.09.2011 / 20:17 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| RedSky, умеет. Во-первых можно использовать vector: #include <vector.h> vector<int> array; array.resize(256); во-вторых: int *dinamicArray = new int[256]; delete[] dinamicArray; Вот такая вот конструкция.
__________________
let live |
20.09.2011 / 20:22 | |
RedSky Пользователь Сейчас: Offline
Имя: Arsen Регистрация: 31.07.2011
| Изменено aNNiMON (20.09 / 20:30) (всего 1 раз) |
21.09.2011 / 10:36 | |
RGT Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| RedSky, еще через указатели можно. Уже не надо. Сегодня на ленте сделал =D Только без среднего арифметического на четных позициях.
__________________
don't tread on me |
21.09.2011 / 11:17 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| RGT, Так это легко, проходишь по всему циклу, и если элемент четный, то прибавляешь единицу к какому-нить индексу, и к большому числу прибавляешь значение этого элемента. Потом дели большое число на значение индекса.
__________________
let live |
21.09.2011 / 12:44 | |
RGT Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| aNNiMON, у меня постоянно цикл в бесконечность уходил
__________________
don't tread on me |
21.09.2011 / 14:27 | |
RGT Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| #include "stdafx.h"
#include <clocale>
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "Russian");
setlocale (LC_ALL, "rus");
int i, size, end, j, menu = 0;
float **a = NULL;
do {
printf("Введите размерность квадратной матрицы: ");
scanf("%d", (int) &size);
}
while(size<=0);
a = new float*[size];
for (i=0; i<size; i++);
{
a[i]= new float [size]();
}
do {
do {
printf("\nМеню программы\n\t1) Ввод элементов массива\n\t2) Обработка массива\n\t3) Вывод элементов массива\n\t4) Выход\n\n");
scanf("%d", &menu);
}
while (menu<=0 || menu>4);
if(menu==1)
{
printf("Введите элементы массива...\n");
for(i=0; i<size; i+1)
{
for(j=0; j<size; j+1)
{
scanf("%f", &a[i][j]);
}
}
printf("Ввод элементов массива завершен!");
}
if(menu==2)
{
}
if(menu==3)
{
}
if(menu==4)
{
}
}
while(end==0);
delete []a;
return 0;
}
При попытки записи значения в элемент двумерного массива вылетает такое: Необработанное исключение в "0x101df2dc (msvcr100d.dll)" в "lw_2.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcdcdcd".Где ошибка? __________________
don't tread on me |
21.09.2011 / 14:48 | |
RGT Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| for (i=0; i<size; i++);
{
a[i]= new float [size]();
}
__________________
don't tread on me Изменено RGT (21.09 / 14:49) (всего 2 раза) |