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

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

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

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

21.05.2013, 20:20. Просмотров 286. Ответов 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++
Задана матрица размером N×M, N,M&lt;50. Получить массив B, присвоив его k-му элементу значение 1, если элементы k–й строки матрицы ...

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

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

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

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

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

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

Двумерный массив, нужна небольшая помощь - C++
Доброго времени суток. Вопрос следующий есть функция которая выводит на экран такой двумерый массив: Сам алгоритм выглядит...

Правильно ли написан код .cpp? - C++
Вот сам код #define _CRT_SECURE_NO_WARNINGS #include &lt;Windows.h&gt; #include &lt;HCNetSDK.h&gt; #include &lt;memory&gt; #include &lt;cstdio&gt; ...

Написал программу, но не работает. Нужна небольшая отладка - C++
Задача была такая: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) среднее арифметическое всех положительных...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Yandex
Объявления
21.05.2013, 21:11     Код написан,нужна небольшая корректировка.Массивы
Ответ Создать тему
Опции темы

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