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

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

Войти
Регистрация
Восстановить пароль
 
ччч
0 / 0 / 1
Регистрация: 23.12.2012
Сообщений: 49
#1

Найти ошибку в коде - C++

27.03.2013, 06:34. Просмотров 256. Ответов 3
Метки нет (Все метки)

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
#include <stdio.h>
#include <stdlib.h>
 
void printarray(int **a, const int n, const int m);
void printsum(int **a, const int n, const int m);
 
int main() {
  const int n = 3, m = 5;
  int **a;
  int i, j, t;
  char ch;
  FILE *f;
  char fname[255];
  
  printf("filename: ");
  scanf("%s", fname);
  f = fopen(fname, "r");
  
  if (!f) {
    printf("can't open file\n");
    return -1;
  }
  
  a = calloc(n, sizeof(a[0]));
  for (int i = 0; i < n; ++i)
    a[i] = calloc(m, sizeof(a[i][0]));
  
  for (int i = 0; i < n; ++i) 
    for (int j = 0; j < m; ++j)
      fscanf(f, "%d", &a[i][j]);
  fclose(f);
  
  while (1) {
    printf("\t1 - out arr\n\t2 - out sum\n\t3 - exit\n: ");
    scanf("%c", &ch);
 
    if ('3' == ch)
      break;
    
    switch (ch) {
      case '1': printarray(a, n, m); break;
      case '2': printsum(a, n, m); break;
      default: printf("input error\n");
    }
  }
  
  for (int i = 0; i < n; ++i)
    free(a[i]);
  free(a);
}
 
void printarray(int **a, const int n, const int m) {
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; ++j) 
      printf("%d", a[i][j]);
    printf("\n");
  }
}
 
void printsum(int **a, const int n, const int m) {
  int sum = 0;
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < m; ++j) 
      sum += a[i][j];
  printf("sum: %d\n", sum);
}
помогите подправить пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2013, 06:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти ошибку в коде (C++):

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде) - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Найти ошибку в коде - C++
Ребят , есть массив , но сколько бы чисел я не вводил , ОТРИЦАТЕЛЬНЫХ нету . Как исправить ? #include &quot;stdafx.h&quot; #include...

Найти ошибку в коде - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main() { int m, n, **a, i, j, s; cout&lt;&lt;&quot;vvedite kol-vo...

Найти ошибку в коде - C++
#include&lt;iostream&gt; #include&lt;ctime&gt; using namespace std; int main(){ const int n=10; const int m=10; int A; for(int...

Найти ошибку в коде - C++
#include &quot;stdafx.h&quot; #include &lt;string.h&gt; #include &lt;iostream&gt; const int NE=5, ND=3; typedef char TStr; struct TEmp { int ENum; ...

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

3
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
27.03.2013, 06:36 #2
ччч, а что не так?
0
ччч
0 / 0 / 1
Регистрация: 23.12.2012
Сообщений: 49
27.03.2013, 06:46  [ТС] #3
не работает
0
anmartex
...
1706 / 1199 / 496
Регистрация: 12.02.2013
Сообщений: 1,978
27.03.2013, 06:53 #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
63
64
65
66
#include <stdio.h>
#include <stdlib.h>
 
void printarray(int **a, const int n, const int m);
void printsum(int **a, const int n, const int m);
 
int main() {
  const int n = 3, m = 5;
  int **a;
  char ch;
  FILE *f;
  char fname[255];
 
  printf("filename: ");
  scanf("%s", fname);
  f = fopen(fname, "r");
 
  if (!f) {
    printf("can't open file\n");
    return -1;
  }
 
  a = (int**)calloc(n, sizeof(a[0]));
  for (int i = 0; i < n; ++i)
    a[i] = (int*)calloc(m, sizeof(a[i][0]));
 
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < m; ++j)
      fscanf(f, "%d", &a[i][j]);
  fclose(f);
 
  while (1) {
    printf("\t1 - out arr\n\t2 - out sum\n\t3 - exit\n: ");
    fflush(stdin);
    scanf("%c", &ch);
 
    if ('3' == ch)
      break;
 
    switch (ch) {
      case '1': printarray(a, n, m); break;
      case '2': printsum(a, n, m); break;
      default: printf("input error\n");
    }
  }
 
  for (int i = 0; i < n; ++i)
    free(a[i]);
  free(a);
}
 
void printarray(int **a, const int n, const int m) {
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < m; ++j)
      printf("%d ", a[i][j]);
    printf("\n");
  }
}
 
void printsum(int **a, const int n, const int m) {
  int sum = 0;
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < m; ++j)
      sum += a[i][j];
  printf("sum: %d\n", sum);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2013, 06:53
Привет! Вот еще темы с ответами:

Найти ошибку в коде - C++
if (PTS&gt;=0 &amp;&amp; PTS&lt;999) title2 = &quot;D-&quot;; if (PTS&lt;=0) title2 = &quot;Noob&quot;; if (PTS&gt;=1000 &amp;&amp; PTS&lt;1999) title2 = &quot;D&quot;; if (PTS&gt;=2000 &amp;&amp;...

Найти ошибку в коде - C++
Доброго времени суток. Не могу найти ошибку в коде. Задание проще простого, вычеслить функцию. Буду благодарен за любую помощь ...

найти ошибку в коде - C++
Помогите найти ошибку в коде: #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; using namespace std; float y; int a,b; ...

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


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

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

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