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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
korkis
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 19
#1

подскажите почему программа работает неправильно - C++

22.10.2011, 01:07. Просмотров 1382. Ответов 6
Метки нет (Все метки)

Использование двумерного массива как аргумента функции и возвращаемого значения функции


выдает предупреждение:1>------ Build started: Project: Glushkov_double_massive_and_func, Configuration: Debug Win32 ------
1> tredfy.cpp
1>f:\projects си++\glushkov_double_massive_and_func\glushkov_double_massive_and_func\tredfy.cpp(18): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304) : see declaration of 'scanf'
1>f:\projects си++\glushkov_double_massive_and_func\glushkov_double_massive_and_func\tredfy.cpp(20): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304) : see declaration of 'scanf'
1>f:\projects си++\glushkov_double_massive_and_func\glushkov_double_massive_and_func\tredfy.cpp(36): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\conio.h(128) : see declaration of 'getch'
1>f:\projects си++\glushkov_double_massive_and_func\glushkov_double_massive_and_func\tredfy.cpp(53): warning C4700: uninitialized local variable 'n' used
1>f:\projects си++\glushkov_double_massive_and_func\glushkov_double_massive_and_func\tredfy.cpp(55): warning C4700: uninitialized local variable 'm' used
1> LINK : F:\Projects Си++\Glushkov_double_massive_and_func\Debug\Glushkov_double_massive_and_func.exe not found or not built by the last incremental link; performing full link
1> Glushkov_double_massive_and_func.vcxproj -> F:\Projects Си++\Glushkov_double_massive_and_func\Debug\Glushkov_double_massive_and_func.exe
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========


#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <locale.h>
#include <string.h>
#include <conio.h>
#include <windows.h>

int**getMemory(int,int);
void printArray(int**);

int main( )
{
setlocale(LC_ALL, "");
int **Array;
int i,j,n,m;
printf("Rows->");
scanf("%i",&n);
printf("Cows->");
scanf("%i",&m);

Array=getMemory(n,m);

for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
Array[i][j]=i+1;
}

printArray(Array);

for(i=0;i<n;i++)

delete[] Array[i];
delete[] Array;
getch();
return 0;

}

int** getMemory(int n,int m)
{
int**mas;
mas=new int*[n];
for(int i=0;i<n;i++)
mas[i]=new int[m];
return mas;
}

void printArray(int**mas)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("mas[i][j]=%i",mas[i][j]);
}
printf("\n");
}


}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2011, 01:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос подскажите почему программа работает неправильно (C++):

Подскажите почему указатель работает неправильно? - C++
Вот код: #include &lt;iostream&gt; #include &lt;time.h&gt; #include &lt;cstdlib&gt; #include &lt;vector&gt; using namespace std; void...

Почему программа работает неправильно - C++
не могу понять почему программа работает не правильно # include &lt;stdio.h&gt; # include &lt;conio.h&gt; # include &lt;math.h&gt; float f1(int...

Почему программа неправильно работает - C++
string IntToStr(int a) { if (a == 0) return &quot;0&quot;; string str = &quot;&quot;; int b = a; if (a &lt; 0) a *= -1; while (a &gt; 0) str =...

Почему моя программа неправильно работает? - C++
Постоянно выводится сообщение Incorrect letter grade entered. Enter a new grade. #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; int...

Не могу понять, почему программа неправильно работает! - C++
Изучаю С++ по Страуструпу Б. - Программирование. Принципы и практика использования C++. Есть задание: 9. Вычислите сумму введенных...

Программа работает неправильно. Цикл не выполняется. Подскажите ошибку - C++
Здравствуйте. Подскажите, пожалуйста, почему неправильно выполняется программа( не выполняется цикл). Заранее спасибо. #include...

6
MrGluck
Модератор
Эксперт CЭксперт С++
7510 / 4642 / 700
Регистрация: 29.11.2010
Сообщений: 12,678
22.10.2011, 01:13 #2
У тебя функция printArray не знает что такое n и m.
0
korkis
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 19
22.10.2011, 01:15  [ТС] #3
я так понял необходимо определить n и m в функции?
0
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
22.10.2011, 01: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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <locale.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
 
int**getMemory(int,int);
void printArray(int**,int n1, int m1);
 
int main( )
{
setlocale(LC_ALL, "");
int **Array;
int i,j,n,m;
printf("Rows->");
scanf("%i",&n);
printf("Cows->");
scanf("%i",&m);
 
Array=getMemory(n,m);
 
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
Array[i][j]=i+1;
}
 
printArray(Array,n,m);
 
for(i=0;i<n;i++)
 
delete[] Array[i];
delete[] Array;
getch();
return 0;
 
}
 
int** getMemory(int n,int m)
{
int**mas;
mas=new int*[n];
for(int i=0;i<n;i++)
mas[i]=new int[m];
return mas;
}
 
void printArray(int**mas,int n1, int m1)
{
for(int i=0;i<n1;i++)
{
for(int j=0;j<m1;j++)
{
printf("mas[i][j]=%i",mas[i][j]);
}
printf("\n");
}
 
 
}
1
korkis
0 / 0 / 0
Регистрация: 22.10.2011
Сообщений: 19
22.10.2011, 01:33  [ТС] #5
пример из книжки,буду признателен ,если кто-то исправит
0
MrGluck
Модератор
Эксперт CЭксперт С++
7510 / 4642 / 700
Регистрация: 29.11.2010
Сообщений: 12,678
22.10.2011, 01:40 #6
Цитата Сообщение от korkis Посмотреть сообщение
я так понял необходимо определить n и m в функции?
Можно например передать ей в качестве параметра
0
KeyGen
384 / 291 / 6
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
22.10.2011, 01:44 #7
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
#include <iostream>
 
int **getMemory(int,int);
 
void printArray(int**,int, int);
 
int main()
{
    setlocale(LC_ALL, "");
    
    int **Array;
    int i,j,n,m;
    
    printf("Rows->");
    scanf("%i",&n);
 
    printf("Cows->");
    scanf("%i",&m);
 
    Array=getMemory(n,m);
 
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        Array[i][j]=i+1;
 
printArray(Array,n,m);
 
for(i=0;i<n;i++) delete[] Array[i];
delete[] Array;
 
system("pause");
return 0;
}
 
int** getMemory(int n,int m){
      int**mas = new int*[n];
      for(int i=0;i<n;i++) mas[i]=new int[m];
      
      return mas;
}
 
void printArray(int**mas,int n1, int m1){
     for(int i=0;i<n1;i++){
         for(int j=0;j<m1;j++)
         printf("mas[i][j]=%i",mas[i][j]);
         printf("\n");
         }
}
0
22.10.2011, 01:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2011, 01:44
Привет! Вот еще темы с ответами:

Почему не работает sqrt? Подскажите, где ошибка? Простенькая программа с тремя функциями - C++
#include &quot;stdio.h&quot; #include &lt;math.h&gt; #include &quot;stdafx.h&quot; double rekur(int k) { if(k==0)return 0; else return...

Почему деструктор работает неправильно? - C++
на лабараторной столкнулся в проблемой. деструктор вызывается только один раз. #include &lt;cstring&gt; #include &lt;iostream&gt; using...

Почему программа неправильно считает сумму? - C++
Вот задание: http://cs628818.vk.me/v628818636/23176/6LFbXBEOAPQ.jpg Вот код: #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include...

Почему функция atanh работает неправильно? - C++
Задание http://content-15.foto.my.mail.ru/mail/megabayt_m/_answers/i-359.jpg Кусок кода for (double X = Xn; X &lt;= Xk; X += dX) { ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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