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

с кодом С++ проблемы...пожалуйста... - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Alexandr93
2 / 2 / 0
Регистрация: 09.11.2010
Сообщений: 65
12.11.2010, 23:47     с кодом С++ проблемы...пожалуйста... #1
Вот задачи, помогите чем можете))


Написать процедуру обмена столбца и строки двухмерного массива. С ее помощью поменять местами те строки и столбцы, первые элементы которых совпадают.


Написать перегруженные функции и основную программу, которая их вызывает.
а) для деления целых чисел;
б) для деления комплексных чисел.



Решить указанную в варианте задачу, используя функции с переменным числом параметров.
Написать функцию min с переменным числом параметров, которая находит минимальное из чисел типа int или из чисел типа double, тип параметров определяется с помощью первого параметра функции. Написать вызывающую функцию main, которая обращается к функции min не менее трех раз с количеством параметров 5, 10, 12.



Сформировать двоичный файл из элементов, заданной в варианте структуры, распечатать его содержимое, выполнить удаление и добавление элементов в соответствии со своим вариантом, используя для поиска удаляемых или добавляемых элементов функцию. Формирование, печать, добавление и удаление элементов оформить в виде функций. Предусмотреть сообщения об ошибках при открытии файла и выполнении операций ввода/вывода.
7. Структура "Студент":
• фамилия, имя, отчество;
• домашний адрес;
• группа;
• рейтинг.
Удалить все элементы, у которых рейтинг меньше заданного, добавить 1 элемент в конец файла.



Создать текстовый файл F1 не менее, чем из 10 строк и записать в него информацию
Выполнить задание.
1 Скопировать из файла F1 в файл F2 все строки, кроме тех, что начинаются на букву А.
2 Подсчитать количество символов в первом слове F2.



Написать программу, в которой создаются динамические массивы и выполнить их обработку в соответствии со своим вариантом.
1. Ввести размер массива;
2.Сформировать массив с помощью операции new или библиотечных функций malloc (calloc);
3.Заполнить массив (можно с помощью датчика случайных чисел);
4.Выполнить задание варианта, сформировать новый массив(ы)-результат(ы);
5.Напечатать массив(ы)-результат(ы);
6.Удалить динамические массивы с помощью операции delete или библиотечной функции free.



2. Постановка задачи
Написать программу, в которой создаются динамические структуры и выполнить их обработку в соответствии со своим вариантом.
Для каждого вариант разработать следующие функции:
1. Создание списка.
2. Добавление элемента в список (в соответствии со своим вариантом).
3. Удаление элемента из списка (в соответствии со своим вариантом).
4. Печать списка.
5. Запись списка в файл.
6. Уничтожение списка.
7. Восстановление списка из файла.

3. Порядок выполнения работы
1. Написать функцию для создания списка. Функция может создавать пустой список, а затем добавлять в него элементы.
2. Написать функцию для печати списка. Функция должна предусматривать вывод сообщения, если список пустой.
3. Написать функции для удаления и добавления элементов списка в соответствии со своим вариантом.
4. Выполнить изменения в списке и печать списка после каждого изменения.
5. Написать функцию для записи списка в файл.
6. Написать функцию для уничтожения списка.
7. Записать список в файл, уничтожить его и выполнить печать (при печати должно быть выдано сообщение "Список пустой").
8. Написать функцию для восстановления списка из файла.
9. Восстановить список и распечатать его.
10. Уничтожить список.

4. Варианты заданий

7.Сформировать двунаправленный список. Удалить из него первый элемент, добавить элемент в конец списка.

5.Содержание отчета
4. Постановка задачи.
5. Функции для работы со списком.
6. Функция main().
7. Результаты выполнения работы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2010, 23:47     с кодом С++ проблемы...пожалуйста...
Посмотрите здесь:

Трудности с кодом. C++
Помогите пожалуйста в решениии проблемы. C++
Проблемы с кодом C++
C++ Проблемы с кодом. Ругается на strcpy. Хелпните
Проблемы с поисковиками. Помоготе пожалуйста C++
Подскажите,пожалуйста ,что не так с кодом! C++
подскажите пожалуйста с кодом C++
C++ Проблемы с кодом Необработанное исключение по адресу 0x00A85A9B

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
12.11.2010, 23:58     с кодом С++ проблемы...пожалуйста... #2
Цитата Сообщение от Alexandr93 Посмотреть сообщение
Написать программу, в которой создаются динамические массивы и выполнить их обработку в соответствии со своим вариантом.
1. Ввести размер массива;
2.Сформировать массив с помощью операции new или библиотечных функций malloc (calloc);
3.Заполнить массив (можно с помощью датчика случайных чисел);
4.Выполнить задание варианта, сформировать новый массив(ы)-результат(ы);
5.Напечатать массив(ы)-результат(ы);
6.Удалить динамические массивы с помощью операции delete или библиотечной функции free.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <ctime>
#include <cstdlib>
 
int main()
{
        int *arr, n;
        std::cout << "Enter n: ";
        std::cin >> n;
        arr = new int[n];//динамически выдиляем память под масив
 
        for(int i = 0; i < n; i++)
        {
            arr[i] = rand()%100;//от 0 до 100
            std::cout << arr[i] << ' ';
        }
 
        delete[] arr;
        return 0;
}
4.Выполнить задание варианта, сформировать новый массив(ы)-результат(ы);
А задание то какое,до этого номера ?
Alexandr93
2 / 2 / 0
Регистрация: 09.11.2010
Сообщений: 65
13.11.2010, 00:04  [ТС]     с кодом С++ проблемы...пожалуйста... #3
Вот вся лабораторная.

Лабораторная работа № 10
"Динамические массивы"
Цель: Организация динамических массивов.
1. Краткие теоретические сведения
При традиционном определении массива:
тип имя_массива [количество_элементов];
общее количество памяти, выделяемой под массив, задается определением и равно количество_элементов * sizeof(тип).
Но иногда бывает нужно чтобы память под массив выделялась для решения конкретной задачи, причем ее размеры заранее не известны и не могут быть фиксированы.
Формирование массивов с переменными размерами можно организовать с помощью указателей и средств динамического распределения памяти двумя способами:
1) с использованием библиотечных функций, описанных в заголовочных файлах alloc.h и stdlib.h (стандартный Си);
2) с использованием операций new и delete (Си++).
1.1. Формирование динамических массивов с использованием библиотечных функций
Для выделения и освобождения динамической памяти используются функции
Функция Прототип и краткое описание
malloc void * malloc(unsigned s)
Возвращает указатель на начало области динамической памяти длиной в s байт, при неудачном завершении возвращает NULL
calloc void * calloc(unsigned n, unsigned m)
Возвращает указатель на начало области динамической памяти для размещения n элементов длиной по m байт каждый, при неудачном завершении возвращает NULL
realloc void * realloc(void * p, unsigned s)
Изменяет размер блока ранее выделенной динамической памяти до размера s байт, р- адрес начала изменяемого блока, при неудачном завершении возвращает NULL
free void *free(void p)
Освобождает ранее выделенный участок динамической памяти, р – адрес первого байта
Пример:
Функция для формирования одномерного динамического массива
C++
1
2
3
4
5
6
7
8
int * make_mas(int n)
(
int *mas;
mas=(int*)malloc(n*sizeof(int));
for(int i=0;i<n;i++)
mas[i]=random(10);
return mas;
}
Для выделения памяти используется функция malloc, параметром которой является размер выделяемого участка памяти равный n*sizeof(int). Так как функция malloc возвращает нетипизированный указатель void*, то необходимо выполнить преобразование полученного нетипизированного указателя в указатель int*.
Освободить выделенную память можно функцией free(mas).

1.2. Формирование динамических массивов с использованием операций new и delete
Для динамического распределения памяти используются операции new и delete. Операция
new имя_типа
или
new имя_типа инициализатор
позволяет выделить и сделать доступны свободный участок памяти, размеры которого соответствуют типу данных, определяемому именем типа. В выделенный участок заносится значение определяемое инициализатором, который не является обязательным параметром. В случае успешного выделения памяти операция возвращает адрес начала выделенного участка памяти, если участок не может быть выделен, то возвращается NULL.
Примеры:
1)
C++
1
2
int *i;
   i=new int(10);
2)
C++
1
2
float *f;
   f=new float;
3)
C++
1
    int *mas=new[5];
В примерах 1, 2 показано как выделить память под скалярные переменные, пример 3 показывает выделение памяти под массив переменных.
Операция delete указатель освобождает участок памяти ранее выделенный операцией new.
Пример:
Функция для формирования двумерного динамического массива
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int ** make_matr(int n)
{
int **matr;
int i,j;
matr=new int*[n];
for (i=0;i<n;i++)
{
matr[i]=new int[n];
for (j=0;j<n;j++)
matr[i][j]=random(10);
}
return matr;
}
При формировании матрицы сначала выделяется памяти для массива указателей на одномерные массивы, а затем в цикле с параметром выделяется память под n одномерных массивов.

**matr

*matr[1] *matr[2] *matr[3] . . . . *matr[n]

Чтобы освободить память необходимо выполнить цикл для освобождения одномерных массивов
C++
1
2
for(int i=0;i<n;i++)
delete matr[i];
После этого освобождаем память на которую указывает указатель matr
C++
1
delete [] matr;
2. Постановка задачи
Написать программу, в которой создаются динамические массивы и выполнить их обработку в соответствии со своим вариантом.
3. Порядок выполнения работы
1. Ввести размер массива;
2.Сформировать массив с помощью операции new или библиотечных функций malloc (calloc);
3.Заполнить массив (можно с помощью датчика случайных чисел);
4.Выполнить задание варианта, сформировать новый массив(ы)-результат(ы);
5.Напечатать массив(ы)-результат(ы);
6.Удалить динамические массивы с помощью операции delete или библиотечной функции free.

4. Варианты заданий
7.Сформировать двумерный массив. Удалить из него столбец с заданным номером;

5. Содержание отчета
1. Постановка задачи.
2. Функции для формирования массива, печати массива, преобразования массива, удаления массива.
3. Результаты выполнения работы.
Yandex
Объявления
13.11.2010, 00:04     с кодом С++ проблемы...пожалуйста...
Ответ Создать тему
Опции темы

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