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

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

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

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

18.04.2009, 18:30. Просмотров 512. Ответов 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++):

Напишите функцию, которая решает линейное уравнение ax+b=0 и записывает результат в переменную, передаваемую по ссылке. - C++
Напишите функцию, которая решает линейное уравнение ax+b=0 и записывает результат в переменную, передаваемую по ссылке. В случае нахождения...

Написать программу, которая читает с клавиатуры строку символов, преобразует ее и выводит результат на дисплей - C++
Подсчитать количество слов в строке. Помогите плиз.

Один поток записывает данные в файл, другой читает - C++
Написать код на С++ или С# или на Java Создать два потока. Первый поток производит запись в файл случайных данных. Второй производит...

отладить программу на языке С++, которая считывает из файла a.txt строку и записывает её в файл b.txt в обратном порядке - C++
я это взяла из книги полностью готовый код, а он не идёт.Помогите отладить, пожалуйста #include &lt;string.h&gt; #include &lt;stdlib.h&gt; ...

Напишите функцию, которая определяет, можно ли из символов, входящих в строку А, составить строку В - C++
Помогите с задачей, пожалуйста. Даны строки А и В. Напишите функцию, которая определяет, можно ли из символов, входящих в А, составить...

Функция которая записывает в выходную строку слова длиной от 3 до 6: не выводится строка - Assembler
это код ассемблерной вставки в паскаль. функция которая записывает в выходную строку слова длиной от 3 до 6. все вроде отрабатывается но...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 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
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 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
Спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2009, 19:12
Привет! Вот еще темы с ответами:

Написать программу, которая читает с клавиатуры произвольную строку символов, преобразует ее и выводит результ - Pascal
- Написать программу, которая читает с клавиатуры произвольную строку символов, преобразует ее и выводит результат на дисплей в виде...

Дан текст (массив строк). Составить программу, которая записывает каждую строку текста в обратном порядке - PascalABC.NET
Дан текст (массив строк). Составить программу, которая записывает каждую строку текста в обратном порядке.

Почему читает и записывает в разные каталоги? - Java SE
Доброго времени суток уважаемые форумчане) Собственно пытаюсь написать программу по работе с xml. для синтаксического анализа xml файла...

ПК не записывает файлы на диск но с др дисков читает - Системный софт
многоуважаемые господа програмисты и сисадмины подскажите что мне надо сделать если у меня такая проблема: у меня ПК читает видеофайлы с...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.04.2009, 19:12
Ответ Создать тему
Опции темы

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