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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
rar14
28 / 22 / 1
Регистрация: 14.04.2009
Сообщений: 448
#1

Можно примерчик простенькой програмки, которая читает строку с клавы и записывает ее в переменную. - C++

18.04.2009, 18:30. Просмотров 494. Ответов 4
Метки нет (Все метки)

Собственно простенький примерчик. Надо, что бы человек вводил с клавиатуры строку, потом нажимал <Enter> и, то что он ввел попадало в переменную, или сразу в ячейку матрицы.

Вот предыдущий код:

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
#include <iostream.h>
#include <string.h>
 
 
int main() {
 
    int N = 2, M = 3;
    int i, j;
 
    char*** matrix = new char** [N];
    if (!matrix) return 0;
 
    for (i = 0; i < N; i++) {
        matrix[i] = new char* [M];
        if (!matrix[i]) return 0;
    }
 
    for (i = 0; i < N; i++)
    for (j = 0; j < M; j++) {
        char* str = "This is string";
        matrix[i][j] = new char[strlen(str) + 1];
        strcpy(matrix[i][j], str);
    }
 
 
    for (i = 0; i < N; i++)
    for (j = 0; j < M; j++) cout << matrix[i][j] << "\n";
 
 
    for (i = 0; i < N; i++)
    for (j = 0; j < M; j++) delete[] matrix[i][j];
 
    for (i = 0; i < N; i++) delete [] matrix[i];
    delete [] matrix;
 
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2009, 18:30     Можно примерчик простенькой програмки, которая читает строку с клавы и записывает ее в переменную.
Посмотрите здесь:

Необходимо написать программу, которая рандомно задает значения чисел и записывает их в файл C++
Программа, которая читает сторону квадрата и рисует его звездочками и пробелами C++
Написать программу, которая считывает текст из файла и записывает в новый файл слова, короче 5 букв C++
Написать программу, которая считывает текст из файла и записывает в другой файл C++
C++ cin.getline() не читает строку
C++ Не читает первую строку из файла
C++ Написать программу, которая читает с клавиатуры строку символов, преобразует ее и выводит результат на дисплей
Как написать программу на С++, чтобы можно было вводить матрицу с клавы и в итоге она появилась на экране? C++
Напишите программу, которая читает ISBN код с одной пропущенной цифрой C++
C++ Напишите функцию, которая решает линейное уравнение ax+b=0 и записывает результат в переменную, передаваемую по ссылке.
C++ Записывает только 1 строку матрицы
C++ Напишите функцию, которая определяет, можно ли из символов, входящих в строку А, составить строку В

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
18.04.2009, 18:47     Можно примерчик простенькой програмки, которая читает строку с клавы и записывает ее в переменную. #2
Можно так
C++
1
2
3
4
5
6
7
for (i = 0; i < N; i++)
    for (j = 0; j < M; j++) {
        char str[256];//думаю хватит
        std::cin>>str;
        matrix[i][j] = new char[strlen(str) + 1];
        strcpy(matrix[i][j], str);
    }
или так

C++
1
2
3
4
5
for (i = 0; i < N; i++)
    for (j = 0; j < M; j++) {
        matrix[i][j] = new char[256];
        std::cin>>matrix[i][j];
    }
rar14
28 / 22 / 1
Регистрация: 14.04.2009
Сообщений: 448
18.04.2009, 18:58  [ТС]     Можно примерчик простенькой програмки, которая читает строку с клавы и записывает ее в переменную. #3
А нельзя просто указать:

C++
1
matrix[i][j] = new char[];
?

Добавлено через 2 минуты 48 секунд
Цитата Сообщение от ISergey Посмотреть сообщение
Можно так
C++
1
2
3
4
5
6
7
for (i = 0; i < N; i++)
    for (j = 0; j < M; j++) {
        char str[256];//думаю хватит
        std::cin>>str;
        matrix[i][j] = new char[strlen(str) + 1];
        strcpy(matrix[i][j], str);
    }
или так

C++
1
2
3
4
5
for (i = 0; i < N; i++)
    for (j = 0; j < M; j++) {
        matrix[i][j] = new char[256];
        std::cin>>matrix[i][j];
    }
C++
1
2
3
4
5
        
        char str[256];//думаю хватит
        std::cin>>str;
                matrix[i][j] = new char[strlen(str) + 1];
        strcpy(matrix[i][j], str);
А компилятор автоматически усечет 256 знаков до того размера который в реальности будет?
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
18.04.2009, 19:09     Можно примерчик простенькой програмки, которая читает строку с клавы и записывает ее в переменную. #4
Цитата Сообщение от rar14 Посмотреть сообщение
C++
1
matrix[i][j] = new char[];
Нормальный компилятор выдаст ошибку.
Intel Compiler:
1>Compiling with Intel(R) C++ 10.0.027 [IA-32]... (Intel C++ Environment)
1>main.cpp
1>.\main.cpp(5): error: incomplete type is not allowed
1> char *str = new char[];
1> ^
1>
1>.\main.cpp(7): error: incomplete type is not allowed
1> char *str1 = new char[];
1> ^
1>
1>.\main.cpp(9): error: incomplete type is not allowed
1> char *str2 = new char[];
1> ^
1>
1>compilation aborted for .\main.cpp (code 2)
1>Build log was saved at "file://F:\ProgCode\C++\ProjForum\ddd\Debug\BuildLog.htm"
1>ddd - 3 error(s), 0 warning(s)
Visual Studioкомпилирует)
11
9
9
Press any key to continue . . .
Dev-C++ тоже ругатся.

А компилятор автоматически усечет 256 знаков до того размера который в реальности будет?
думаю да.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main() 
{
    char buff[256];
    cout<<sizeof(buff)<<endl;
    cin>>buff;
    char *str = new char[strlen(buff)+1];
    strcpy(str,buff);
    cout<<_msize(str)<<endl;
    delete[] str;
    return 0;
}
rar14
28 / 22 / 1
Регистрация: 14.04.2009
Сообщений: 448
18.04.2009, 19:12  [ТС]     Можно примерчик простенькой програмки, которая читает строку с клавы и записывает ее в переменную. #5
Спасибо.
Yandex
Объявления
18.04.2009, 19:12     Можно примерчик простенькой програмки, которая читает строку с клавы и записывает ее в переменную.
Ответ Создать тему
Опции темы

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