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

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

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

Считает элементы в строках а не столбцах. Что не так? - C++

02.02.2014, 12:03. Просмотров 416. Ответов 4
Метки нет (Все метки)

Определить двумерный массив A[n][m], заполнить его случайными целыми числами от -1000 до 1000. Размер массива задается с клавиатуры, но 4=<n=<10, 4=<m=<10, n!=m. Найти сумму отрицательных элементов кратных 4,5,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
49
50
51
52
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main()
{clrscr();
randomize();
int i,j,n,m,sum=0;
puts("Vveite kolvo radkov\n");
scanf("%d",&n);
while(n<4&&n<10)
{printf("vvedite chislo ot 4 do 10\n");
scanf("%d",&n);
}
puts("Vvedite kolvo stolbzov\n");
scanf("%d",&m);
while(m<4&&m<10&&n==m)
{puts("vvedite chislo ot 4 do 10 i ne ravnoe chislu strok\n");
scanf("%d",&m);}
int **A=new int*[n];
for(i=0;i<n;i++)
A[i]=new int[m];
int *sum_A=new int[m];
for(i=0;i<m;i++)
{sum_A[i]=0;
}
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{A[i][j]=random(2000)-1000;
}
}
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{printf(" %d ",A[i][j]);
}
printf("\n");
}
for(i=0;i<m;i++)
{for(j=0;j<n;j++)
{
if(A[i][j]<0 && (A[i][j]%4==0||A[i][j]%5==0||A[i][j]%7==0))
{sum+=A[i][j];
}
sum_A[i]=sum;
}
sum=0;}
for(i=0;i<m;i++)
{if(sum_A[i]==0)
printf("Stolbzi %d\n",i);
else printf("Stolbez %d sum: %d\n",i,sum_A[i]);
}
getch();
return 0;}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2014, 12:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считает элементы в строках а не столбцах. Что не так? (C++):

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

В матрице выбрать n элементов в разных строках и разных столбцах так, чтобы их сумма была минимальной - C++
Помогите,пожалуйста Добавлено через 2 часа 23 минуты примерный алгоритм как это можно сделать

В заданном двухмерном массиве заменить нулями элементы, стоящие в строках или столбцах, где есть нули - C++
В заданном двухмерном массиве заменить нулями элементы, стоящие в строках или столбцах, где есть нули. Дополнительного двумерного массива...

Найти и вывести на печать все нулевые элементы матрицы и указать в каких строках и столбцах они находятся - C++
Парни, помогите с этим заданием.. &quot;Написать программу, задающую матрицу А размером 4x4 с вещественными элементами, вводимыми с клавиатуры...

Если в строках или столбцах есть хотя бы один элемент равный нулю, заменить нулями все их элементы - C++
Помогите решить задачу. Обнуление матрицы. Дана матрица NxN. Элементы, стоящие в строках или столбцах, где есть хотя бы один элемент...

Почему не правильно считает что не так? - C++
В данной программе я пытаюсь найти процентное отношение ассоциативного массива map&lt;string,int&gt;rezultat; rezultat=123421 из текстового...

4
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
02.02.2014, 12:45 #2
Цитата Сообщение от eee696 Посмотреть сообщение
for(i=0;i<m;i++)
{for(j=0;j<n;j++)
{
if(A[i][j]<0 && (A[i][j]%4==0||A[i][j]%5==0||A[i][j]%7==0))
{sum+=A[i][j];
}
sum_A[i]=sum;
}
Подозреваю, что надо
C++
1
2
3
4
5
6
7
8
for(j=0;j<m;j++)
{for(i=0;i<n;i++)
{
if(A[i][j]<0 && (A[i][j]%4==0||A[i][j]%5==0||A[i][j]%7==0))
{sum+=A[i][j];
}
sum_A[j]=sum;
}
1
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
02.02.2014, 12:57 #3
nexen, правильно подозреваешь
0
eee696
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 10
02.02.2014, 13:23  [ТС] #4
nexen, еще вопрос есть, почему при вводе числа n и m >10 не работает цикл, а продолжается прога дальше? где ошибка?
0
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
02.02.2014, 13:34 #5
Цитата Сообщение от eee696 Посмотреть сообщение
while(n<4&&n<10)
при вводе цикл проверки со странным условием. Ставь:
C++
1
while(n<4&&n>10)
то же самое с M, только там ещё условие на равенство (оно верно у тебя)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.02.2014, 13:34
Привет! Вот еще темы с ответами:

Переставить элементы в строках матрицы так, чтобы по диагонали они были упорядочены по возрастанию - C++
В данной задаче матрица – двумерный динамический массив, который считывается из некоторого текстового файла. Вектор – одномерный...

Определить, верно ли, что максимальные элементы всех строк А находятся в разных столбцах - C++
Дан двумерный массив А размера m на n.Определить,верно ли,что максимальные элементы всех строк А находятся в разных столбцах. Помогите...

Изменить матрицу так, чтобы в строках остались элементы, которые встречаются более одного раза, а другие заменить нулями - C++
Условие: Даны натуральные числа m, n (m, n &lt;= 10) и целочисленную матрицу размера m x n. Изменить матрицу так, чтобы в строках остались...

Перестановка букв в 4х столбцах и строках - C++
Например пользователь ввел a,b,c,d Нужно b,c,d,a c,d,a,b d,a,b,c #include &lt;algorithm&gt;


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

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

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