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

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

Восстановить пароль Регистрация
 
rinalast
1 / 1 / 0
Регистрация: 04.10.2011
Сообщений: 92
16.04.2013, 08:37     Массивы. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент #1
Для заданной матрицы размером 8х8 найти такие к, что к-я строка матрицы совпадает с к-м столбцом.
Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.

Добавлено через 14 часов 52 минуты
Pascal
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
uses crt;
const n=8;{размер матрицы}
{чтоб не маяться с вводом с клавы, зададим матрицу константой}
a:array[1..n,1..n] of integer=((1,2,3,4,5,6,7,-8),
                               (2,3,5,4,6,8,5,2),
                               (3,4,5,6,7,8,9,1),
                               (4,5,6,7,8,9,2,3),
                               (5,6,7,8,9,4,3,-1),
                               (6,7,8,9,4,5,6,7),
                               (7,8,9,5,3,4,5,6),
                               (-8,7,6,5,-1,2,3,4));
 
var i,j,k,l,ko,sm:integer;
begin
clrscr;
writeln('Матрица:');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:4);
  writeln;
 end;
writeln('Совпадающие строки и столбцы;');
l:=0;{считаем что совпадающих строк и столбцов нет}
for k:=1 to n do
  begin
    i:=0;{считаем что в данных строке и столбце совпадений нет }
    for j:=1 to n do
    if a[k,j]=a[j,k] then i:=i+1;{если есть, считаем}
    if i=n then{если все совпали}
      begin
       writeln('Строка и столбец № ',k);{выводим на экран}
       l:=1;{фиксируем что есть такие}
      end;
  end;
if l=0 then writeln('Таких строк и столбцов нет!');
writeln;
for i:=1 to n do
  begin
   ko:=0;{считаем что отрицательных в строке нет}
   for j:=1 to n do
   if a[i,j]<0 then {если нашли}
     begin
       ko:=1;{фиксируем}
       break;{больше не ищем}
     end;
   if ko=1 then{если есть отрицательные}
     begin
       sm:=0;{сумма=0}
       for k:=1 to n do
       sm:=sm+a[i,k];{считаем сумму в строке}
       writeln('Сумма в строке ',i,'=',sm);
     end;
  end;
readln
end.
вот есть программа на паскале
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2013, 08:37     Массивы. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
16.04.2013, 10:39     Массивы. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент #2
А зачем нам программа на паскале?.. Форум-то по Си++.
Написал за 10 минут, правда функцию int sum ( int *row ) оставил как домашнее задание.
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
#include <iostream>
#include <cstdlib>
#include <string>
 
#define SIZE 8
 
int sum ( int *row );
 
int main ( int argc, char **argv ) {
    int matrix[ SIZE ][ SIZE ] = {...}; //our matrix
    
    std::cout << "equal rows:" << std::endl;
    for ( int k = 0; k < SIZE; k++ ) {
        for ( int i = 0; i < SIZE; i++ ) {
            if ( matrix[ k ][ i ] != matrix[ i ][ k ] ) {
                goto exit;
            }
        }
        std::cout << k << " ";
exit:
    } std::cout << std::endl;
 
 
    std::cout << "for every row with negative number, sum:" << std::endl;
    bool isNegative[ SIZE ] = { false, ..., false };
 
    for ( int i = 0; i < SIZE; i++ ) {
        for ( int j = 0; j < SIZE; j++ ) {
            if ( matrix[ i ][ j ] < 0 ) {
                isNegative[ j ] = true;
            }
        }
    }
    
    for ( int j = 0; j < SIZE; j++ ) {
        if ( isNegative[ j ] ) {
            std::cout << j << ": " << sum ( matrix[ j ] ) << std::endl;
        }
    }
    
    return 0;
}
Yandex
Объявления
16.04.2013, 10:39     Массивы. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент
Ответ Создать тему
Опции темы

Текущее время: 12:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru