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

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

Войти
Регистрация
Восстановить пароль
 
 
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
#1

Проблемы с кодом. Ругается на strcpy. Хелпните - C++

20.12.2012, 14:22. Просмотров 661. Ответов 18
Метки нет (Все метки)

Программа по удалению последнего столбца из матрицы.


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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
 
 
void Print(char***matr,int str,int stb) //Печать матрицы
{
    for(int i=0;i<str;i++)
    {
    for(int j=0;j<stb;j++)
    cout<<matr[i][j]<<"\t";
    cout<<"\n";
    }
}
 
char***del(char***matr,int str,int stb) //Удаление последней строки из матрицы
{
    int j,i;
    for(int i=str-1;i>-1;i--)
    for(j=stb-1;j>-1;j--)
    if(matr[i][j][0]!='\0')
    {
        strcpy(matr[i][j],"");
        return matr;
    }
    if(i==0 && j==0)
    cout << "Матрица пустая!";
    return matr;
}
 
 
void form(int str,int stb)    //Формирование матрицы
{
    char* vibor;
    vibor=new char[4];
 
 
    char***matr=new char**[str];
    for(int i=0;i<str;i++)
{
    matr[i]=new char*[stb];
    for(int j=0;j<stb;j++)
   {
    char s[50];
    cout << "Ведите строку:";
    cin>>s;
 
    matr[i][j]=new char[strlen(s)+1];
 
    strcpy(matr[i][j],s);
    }
}
 
    cout <<"\n Если вы хотите распечатать матрицу введите yes, если нет, то no";
    cin>>vibor;
 
    if(strcmp("yes",vibor)==0)
    Print(matr,str,stb);
 
    strcpy(vibor,"");
 
    cout <<"\n Если вы хотите выполнить удаление, введите yes, если нет, то no";
    cin>>vibor;
 
    if(strcmp("yes",vibor)==0)
    matr=del(matr,str,stb);
    strcpy(vibor,"");
 
    cout << "\n Если вы хотите выполнить печать новой матрицы, то введите yes,если нет, то no");
    cin>>vibor;
    if(strcmp("yes",vibor)==0)
    Print(matr,str,stb);
}
 
 
 
void perekluchat()
{
    int str,stb,h=0;
 
 
    cout << "Введите количество строк:";
    cin>>str;
 
    while(str<=0 || str>100)
    {
        cout << "Введите значение от 0 до 100";
        cin >> str;
    }
 
    cout << "Введите количество столбцов:";
    cin>>stb;
 
    while(stb<=0 || stb>100)
    {
        cout << "Введите значение от 0 до 100";
        cin >> stb;
    }
 
 
    while(h!=2)
    {
    cout << "Если вы хотите выполнить, создание новой матрицы, то введите 1, если вы хотите выйти, введите 2\n";
    cin>>h;
    if(h==1)
    form(str,stb);
    if(h==2)
    break;
    }
     
}
 
 
void main()
{
    perekluchat();
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 14:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проблемы с кодом. Ругается на strcpy. Хелпните (C++):

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

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

Проблемы с кодом Необработанное исключение по адресу 0x00A85A9B - C++
Всем доброго времени суток! Значит есть задание сделать программу: К миниЭВМ подключено четыре терминала, с которых осуществляется...

Компилятор ругается на strcpy - C++ Builder
Помогите пожалуйста. У меня компилятор ругается на эту строчку:strcpy(st,IntToStr(L).c_str());

Подскажите с кодом, консоль ругается - PHP
День добрый, делаю страницу фотогалиреи через прогу WWB, на которой фотки открываются в модальном окне fancybox, но проблема в том, что...

Проблемы с кодом - VBA
Цель: добиться того чтобы нажимая нажимая на кнопку &quot;Выполнить расчет&quot; выдавалась название бригады получившей наибольший доход. У меня...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
shilovec5377
29 / 54 / 1
Регистрация: 26.05.2011
Сообщений: 752
20.12.2012, 15:01 #2
чета я скомпилил, у меня не ругается
0
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 15:28 #3
2:
C++
1
#include <cstring>
70: скобку в конце убери

115:
C++
1
int main()
2
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
20.12.2012, 16:13  [ТС] #4
Спасибо. Но появилась новая проблема! Когда я прописываю строки и вывожу, то выводится китайский язык а не слова =(
0
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 16:24 #5
Посмотри тут: Русские шрифты в консоли
0
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
20.12.2012, 16:32  [ТС] #6
Я пробовал так,но мне писало что "s" не совместима с ... типом. =(
0
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 16:36 #7
Цитата Сообщение от bestpalyer1 Посмотреть сообщение
Я пробовал так
Так это как именно? Покажи код, в котором эта ошибка.
0
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
20.12.2012, 16:49  [ТС] #8
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
[CPP][CPP][CPP][CPP][CPPQT][CPPQT][CPPQT]#include <iostream>
#include <string>
#include <cstring>
#include <Windows.h>
using namespace std;
 
 
 
void prin(char*s)
{
    char*buf=new char[strlen(s)+1];
    CharToOem(s,buf);
    cout<<buf;
    delete[]buf;
}
 
 
void Print(char***matr,int str,int stb)
{
    for(int i=0;i<str;i++)
    {
    for(int j=0;j<stb;j++)
    cout<<matr[i][j]<<"\t";
    cout<<"\n";
    }
}
 
 
 
 
char***del(char***matr,int str,int stb)
{
    int j,i;
    for(int i=str-1;i>-1;i--)
    for(j=stb-1;j>-1;j--)
    if(matr[i][j][0]!='\0')
    {
    strcpy(matr[i][j],"");
    return matr;
    }
    if(i==0&&j==0)
    cout << "Матрица пустая!";
    return matr;
}
 
 
 
void form(int str,int stb)
{
    char*vibor;
    vibor=new char[4];
    char***matr=new char**[str];
 
 
    for(int i=0;i<str;i++)
   {
    matr[i]=new char*[stb];
    for(int j=0;j<stb;j++)
    {
    char s[50];
    cout << "\nВведите строку: ";
    cin>>s;
    matr[i][j]=new char[strlen(s)+1];
    strcpy(matr[i][j],s);
    }
    }
 
 
    cout << "\n Если вы хотите распечатать матрицу введите yes, если нет, то no:";
    cin>>vibor;
    if(strcmp("yes",vibor)==0)
    Print(matr,str,stb);
    strcpy(vibor,"");
    cout << "\n Если вы хотите выполнить удаление, введите yes, если нет, то no:";
    cin>>vibor;
    if(strcmp("yes",vibor)==0)
    matr=del(matr,str,stb);
    strcpy(vibor,"");
    cout << "\n Если вы хотите выполнить печать новой матрицы, то введите yes,если нет, то no:";
    cin>>vibor;
    if(strcmp("yes",vibor)==0)
    Print(matr,str,stb);
}
 
 
void perekluchat()
{
int str,stb,h=0;
 
 
    cout << "Введите количество строк:";
    cin>>str;
 
    while(str<=0 || str>5)
    {
        cout << "Введите значение от 0 до 5:";
        cin >> str;
    }
 
    cout << "Введите количество столбцов:";
    cin>>stb;
 
    while(stb<=0 || stb>5)
    {
        cout << "Введите значение от 0 до 5:";
        cin >> stb;
    }
 
 
    while(h!=2)
    {
    cout << "Если вы хотите выполнить, создание новой матрицы, то введите 1, если вы хотите выйти, введите 2: \n";
    cin>>h;
    if(h==1)
    form(str,stb);
    if(h==2)
    break;
    }
}
 
 
void main()
{
    perekluchat();
}[/CPPQT][/CPPQT][/CPPQT]
[/CPP][/CPP][/CPP][/CPP]
0
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 16:51 #9
Скомпилировалось без ошибок. Только
C++
1
int main()
1
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
20.12.2012, 17:41  [ТС] #10
У меня:
1>c:\users\bestplayer1\desktop\университет\информатика\работы c++\лаба №6\2!\2!.cpp(12): error C2664: CharToOemW: невозможно преобразовать параметр 1 из "char *" в "LPCWSTR"
1> Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
0
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 17:51 #11
Точно не скажу, но если это Visual Studio, то может CharToOemA нужно написать. И вот так будет удобнее, с функцией: Русские шрифты в консоли

А setlocale вообще не пробовал?
0
Gus
24 / 35 / 2
Регистрация: 17.02.2009
Сообщений: 364
20.12.2012, 17:53 #12
USE the linux - линь единственная вродь ос поддерживающая русские символы в консоли без геммороя. а так тут на форуме, есть тема "Русские шрифты в консоли" -> в этой теме есть вложение с .cpp и .h файлом, подключите их к проекту, и не знайте проблем
0
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
20.12.2012, 18:15  [ТС] #13
А еще вопрос. Если я ввожу в строку несколько слов (через пробел), то он сразу разбивает их, а мне нужно чтобы вся строка шла как одно. Как это сделать?
0
Schizorb
509 / 461 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
20.12.2012, 18:18 #14
Пользоваться getline
0
bestpalyer1
-1 / 1 / 0
Регистрация: 20.12.2012
Сообщений: 47
20.12.2012, 18:20  [ТС] #15
Пример приведите.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2012, 18:20
Привет! Вот еще темы с ответами:

Проблемы с кодом - Delphi
Зачем делать форум по вопросам с програмирования если вы не хотите на них отвичать !!!!!

Проблемы с кодом ASP VBScript - C# ASP.NET
При обращении на сервере к базе данных браузер выводит сообщение: Microsoft OLE DB Provider for ODBC Drivers ошибка '80004005' Data...

Проблемы с кодом игры Шашки - C#
Всем привет! у меня проблема, есть готовая игра шашки, все вроде правильно,но не шашки не могуть рубить друг друга. Еще шашки не становятся...

Проблемы с кодом обработки матриц - C#
помогите переделать код. в нем находится кол-во строк, не содержащих ни одного нулевого элемента. а мне надо кол-во столбцов. Пожалуйстаааа...


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

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

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