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

Лабороторная работа - C++

Восстановить пароль Регистрация
 
женя610
3 / 3 / 0
Регистрация: 18.09.2011
Сообщений: 61
18.09.2011, 22:05     Лабороторная работа #1
Нужно мне помоч сделать одно задание,а о не получается!
---
Вото оно:
Создайте динамический массив элементов типа char с помощью операции new. Размер массива введите с клавиатуры. Заполните массив случайными числами от 65 до 122, выведите его на экран и замените элементы от 91 до 96 на 46. Освободите память.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5923 / 3360 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
18.09.2011, 22:17     Лабороторная работа #2
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>
 
int main(int argc, char ** argv)
{
    int size;
    srand(time(0));
    std::cout << "size: ";
    std::cin >> size;
    char *a = new char[size];
    for(int i = 0; i < size; i++)
    {
        a[i] = rand() % (122 - 65) + 65;
        std::cout << (a[i] >= 91 && a[i] <= 96 ? 46 : a[i]) << ' ';
    }
    std::cout << std::endl;
    delete [] a;
    system("pause");
    return 0;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
18.09.2011, 22:24     Лабороторная работа #3
Цитата Сообщение от Петррр Посмотреть сообщение
a[i] = rand() % (122 - 65) + 65;
точнее будет:
C++
1
a[i] = rand() % (122 - 64) + 65;
dyosick
 Аватар для dyosick
61 / 61 / 6
Регистрация: 25.08.2008
Сообщений: 178
18.09.2011, 22:31     Лабороторная работа #4
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
46
47
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int size;
    char *array = 0;
    
    srand(time(0));
    
    cout << "Enter array size: ";
    cin >> size;
    
    while( size <= 0 )
    {
        system("cls");   
        cout << "Bad size!" <<endl;   
        cout << "Enter array size: ";
        cin >> size;
    }
    
    array = new char[size];
    
    for(int i = 0; i < size; ++i)
    {
        array[i] = 65 + rand()%58;
        cout << (int)array[i] << " ";
        
        if( array[i] >=91 && array[i] <= 96)
            array[i] = 46;
    }
    
    cout << "\nNew array:" << endl;
    
    for(int i = 0; i < size; ++i)
        cout << (int)array[i] << " ";
     
    cout << endl;    
    delete [] array;     
    
    system("pause");
    return 0;    
}
женя610
3 / 3 / 0
Регистрация: 18.09.2011
Сообщений: 61
18.09.2011, 22:41  [ТС]     Лабороторная работа #5
у меня Borland 3.1 , не работает не одна из ваших программ, про библиотеку ctime впервые слышу мы такое не учили...
IrineK
Заблокирован
18.09.2011, 22:47     Лабороторная работа #6
В Borland 3.1 это будет
C++
1
#include <time.h>
без этого рандомное заполнение массива как-то проблематично...

По поводу "мы такое не учили..." - институт не школа. Объект "Студент" должен быть субъектом самостоятельной добычи знаний. Доброй охоты.
женя610
3 / 3 / 0
Регистрация: 18.09.2011
Сообщений: 61
18.09.2011, 22:50  [ТС]     Лабороторная работа #7
using namespace std;
------
тут ошибка Declaration syntax error
IrineK
Заблокирован
18.09.2011, 23:13     Лабороторная работа #8
Перевод решения от Петррр на ваше наречие:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
 
int main()
{
        int size;
        srand(time(0));
    cout << "size: ";
        cin >> size;
        char *a = new char[size];
        for(int i = 0; i < size; i++)
        {
                a[i] = rand() % (122 - 65) + 65;
                cout << (a[i] >= 91 && a[i] <= 96 ? 46 : a[i]) << ' ';
        }
    cout << endl;
    delete [] a;
    getch();
        return 0;
}
Работает.
С другими решениями - поступаете аналогично.
женя610
3 / 3 / 0
Регистрация: 18.09.2011
Сообщений: 61
18.09.2011, 23:56  [ТС]     Лабороторная работа #9
Всем спасибо!!!!! получать теперь 5))))
Yandex
Объявления
18.09.2011, 23:56     Лабороторная работа
Ответ Создать тему
Опции темы

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