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

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

Войти
Регистрация
Восстановить пароль
 
Sivilan
6 / 6 / 0
Регистрация: 17.03.2013
Сообщений: 66
#1

Код написан,нужна небольшая корректировка.Массивы - C++

21.05.2013, 20:20. Просмотров 292. Ответов 2
Метки нет (Все метки)

Здравствуйте,задание:: Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 0, если сумма элементов k-го столбца матрицы равна нулю, и значение 1  в противном случае.У меня в ответе получается заоблачное число 468....и.т.д............. или компилятор выкидывает при большем размере(не отвечает),в чем проблема
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 <stdio.h>
#include <stdlib.h>
#include <iostream>
 
int main () {
 
    int m,n,i,j,s;
        printf ("Vvedite razmernost matricu NxM\n");
            printf("Vvedite N=");
                scanf("%d",&n);
            printf("Vvedite M=");
                scanf("%d",&m);
    int **mas;
        mas=new int *[n];
            for (i=0;i<n;i++)
                mas[i]=new int [m];
 
printf ("Vvedite elementy matricu: \n");
     {
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
         scanf ("%d", &mas[i][j]);
     }
int *mason;
mason=new int [m];
for (i=0;i<n;i++) {s=0;
for (j=0;j<m;j++) s=s+mas[j][i];
if (s==0) mason[j]=0;
else mason[j]=1;}
printf("otvet=");
for (j=0;j<m;j++)
printf ("%d",mason[j]);
for (int k=0;k<n;k++)
delete [] mas[k];
 delete [] mas;
    delete [] mason;
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 20:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Код написан,нужна небольшая корректировка.Массивы (C++):

Код написан,нужна небольшая корректировка.Массивы - C++
Задана матрица размером N×M, N,M&lt;50. Получить массив B, присвоив его k-му элементу значение 1, если элементы k–й строки матрицы ...

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

Код написан в Dev C. Не работает в Visual. Как нужно переделать код? - C++
Здравствуйте. Столкнулась с такой проблемой: код был написан в Dev C, но в Visual он выдаёт ошибку. ...

Нужна небольшая правка в программе - C++
Здравствуйте! Задание: меняя местами строки матрицы, отсортировать по возрастанию ее первый столбец. (Динамический двумерный массив) Есть...

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

Нужна небольшая помощь начинающему - C++
вот код с учебника на проверку является ли число простым.Но я не могу понять откуда берется переменная n ? до какого значения проверяется...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MyMind
25 / 25 / 7
Регистрация: 14.05.2013
Сообщений: 68
21.05.2013, 20:53 #2
у вас ошибка тут:
C++
1
2
3
4
for (i=0;i<n;i++) {s=0;
for (j=0;j<m;j++) s=s+mas[j][i];
if (s==0) mason[j]=0;
else mason[j]=1;}
надо писать:
C++
1
2
3
4
5
6
7
for (i=0;i<n;i++) {
    s=0;
    for (j=0;j<m;j++) 
        s=s+mas[i][j];
    if (s==0) mason[i]=0;
    else mason[i]=1;
}
вы перепутали i и j местами, когда искали сумму. и поэтому в случае с прямоугольной матрицей у вас будет ошибка.
Sivilan
6 / 6 / 0
Регистрация: 17.03.2013
Сообщений: 66
21.05.2013, 21:11  [ТС] #3
но мне нужно складывать элементы столбца

Добавлено через 6 минут
Цитата Сообщение от MyMind Посмотреть сообщение
у вас ошибка тут:
C++
1
2
3
4
for (i=0;i<n;i++) {s=0;
for (j=0;j<m;j++) s=s+mas[j][i];
if (s==0) mason[j]=0;
else mason[j]=1;}
надо писать:
C++
1
2
3
4
5
6
7
for (i=0;i<n;i++) {
    s=0;
    for (j=0;j<m;j++) 
        s=s+mas[i][j];
    if (s==0) mason[i]=0;
    else mason[i]=1;
}
вы перепутали i и j местами, когда искали сумму. и поэтому в случае с прямоугольной матрицей у вас будет ошибка.
после ввода не квадратной матрицы ответ получается что-то вроде 111143566778899765445
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2013, 21:11
Привет! Вот еще темы с ответами:

Правильно ли написан код - C++
Извините, подправьте плиз, всем заранее огромное спасибо #include&lt;iostream.h&gt; #include&lt;conio.h&gt; #include&lt;string.h&gt; ...

правильно ли написан код в с++? - C++
#include &lt;iostream&gt; #include &lt;map&gt; #include &lt;fstream&gt; using namespace std; int main() { map &lt;char,int&gt; chars; ...

Неправильно написан код - C++
Функция должна находить простые числа в заданном массиве. Выходит что-то вроде 003С100 .. void f1 (int*mas) { int size =...

Нужна небольшая программка с использованием классов - C++
программа должна посчитать площадь прямоугольника по длинне и ширине. Спасибо всем кто поможет)


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

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

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