Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101

Определить сумму элементов матрицы, являющихся степенью числа 2

11.10.2009, 22:14. Показов 1300. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
// Lab5. Задача 3.cpp : Defines the entry point for the console application.
// Задана целочисленная матрица. Определить сумму элементов, явл. степенью числа +2 
//и находящихся над главной диагональю и сумму элементов, к-рые являются степенью числа 3 и находятся под главной диагональю.
 
 
#include "stdafx.h"
#include "conio.h"
 
int _tmain(int argc, _TCHAR* argv[])
{ int a[5][5],i,j,k,s2,s3;
  int p=1;
 
s2=0;
s3=0;
 
printf("Input numbers,\n");
 
for(i=0;i<5;i++)
 for(j=0;j<5;j++)
 {scanf("%d ", &a[i][j]);
 }
 
 
for(i=0;i<5;i++)
 for(j=0;j<5;j++)
 {if(i<j)
 {p=1;
  while(p<a[i][j])
      p=p*2;}
  if(p==a[i][j])
  { s2=s2+a[i][j];
  }
 
  if(i<j)
  {p=1;
  while(p>a[i][j])
      p=p*3;}
  if(p==a[i][j])
  { s3=s3+a[i][j];
  }
  }
 
 printf("Summa 1 ");
 printf("%2.1d ", s2);
 printf("Summa 2 ");
 printf("%2.1d ", s3);
 
 getch();
    return 0;
}
В результате получаю:

1 2 3 4 5
3 6 7 8 9
3 5 -1 -2 0
0 0 2 3 1
4 5 6 9 12
1 2 3 4 5

Summa 1 16 Summa 2 2

Эти числа посчитаны неверно+ надо почему-то вводить матрицу 6 на 5, а не 5 на 5...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.10.2009, 22:14
Ответы с готовыми решениями:

Определить сумму элементов в тех строках матрицы, которые не содержат отрицательных элементов
5. Дана целочисленная квадратная матрица. Определить сумму элементов в тех строках, которые не содержат отрицательных элементов. Определить...

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов
Кто знает как написать такую программу,вот текст задания: Дана целочисленная квадратная матрица. Определить: 1) сумму элементов ...

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов
вот задание Рекомендуется выполнять каждое задание используя динамические массивы. Оформить каждый пункт задания в виде...

12
Эксперт по математике/физике
 Аватар для Том Ардер
4218 / 3418 / 396
Регистрация: 15.06.2009
Сообщений: 5,818
11.10.2009, 22:36
Цитата Сообщение от NastiKor Посмотреть сообщение
scanf("%d ", &a[i][j]);
Пробел в строке формата не нужен - вводится только одно число
C
1
scanf("%d", &a[i][j]);
Формат вывода? %d (для целых, можно %3d, например) или %*.1f
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
12.10.2009, 04:04
C
1
#include <stdio.h>
надо что-нибудь сначала почитать

Добавлено через 37 секунд
C
1
    printf("%2.1d ", s2);
здесь что ожидается ?
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
12.10.2009, 18:52  [ТС]
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
// Lab5. Задача 3.cpp : Defines the entry point for the console application.
// Задана целочисленная матрица. Определить сумму элементов, явл. степенью числа +2 
//и находящихся над главной диагональю и сумму элементов, к-рые являются степенью числа 3 и находятся под главной диагональю.
 
 
#include "stdafx.h"
#include "conio.h"
 
int _tmain(int argc, _TCHAR* argv[])
{ int a[5][5],i,j,k,s2,s3;
  int p=1;
 
s2=0;
s3=0;
 
printf("Input numbers,\n");
 
for(i=0;i<5;i++)
 for(j=0;j<5;j++)
 {scanf("%d", &a[i][j]);
 }
 
 
for(i=0;i<5;i++)
 for(j=0;j<5;j++)
 {if(i<j)
 {p=1;
  while(p<a[i][j])
      p=p*2;}
  if(p==a[i][j])
  { s2=s2+a[i][j];
  }
 
  if(i<j)
  {p=1;
  while(p>a[i][j])
      p=p*3;}
  if(p==a[i][j])
  { s3=s3+a[i][j];
  }
  }
 
 printf("Summa 1 ");
 printf("%2.1d ", s2);
 printf("Summa 2 ");
 printf("%2.1d ", s3);
 
 getch();
    return 0;
}

Программа запускается, проверяем...

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

Summa 1 19 Summa 2 5


Ответ неправильный,т.к. должно быть Summa 1 14 Summa 2 6

пожалуйста, объясните что написано в программе не так...
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
12.10.2009, 19:28
Вот правильное решение:

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
#include <stdio.h>
 
bool f (int a)
{
    if (a == 0)
        return false;
    while (a > 2)
    {
        if (a%2 != 0)
            return false;
        a /= 2;
    }
    return (a % 2) == 0;
}
 
bool f1 (int a)
{
    if (a == 0)
        return false;
    while (a > 3)
    {
        if (a%3 != 0)
            return false;
        a /= 3;
    }
    return (a % 3) == 0;
}
 
int main ()
{
    int const n = 5;
    int a [n][n];
    int i, j;
    int s = 0, s1 = 0;
    printf ("Enter\n");
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf ("%d", &a [i][j]);
            if (f (a [i][j]))
                s += a [i][j];
            if ((j == i + 1) && (f1 (a [i][j])))
                s1 += a [i][j];
        }
    }
    printf ("s = %d\ns1 = %d\n", s, s1);
    return 0;
}
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
12.10.2009, 19:30  [ТС]
qwert, на С++ не умею программировать...только С.......потому не очень ясен текст программы..
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
12.10.2009, 19:42
Я выделил код только как на С++, а так должно компилироваться на C.
Может быть, вам не понятны подпрограммы?
Или напишите, что именно вам не понятно.
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
12.10.2009, 20:39  [ТС]
qwert, return false; a /= 2; и т.д.

Просто странно если я в свою программу напишу такое, например,...мы же еще этого не проходили..
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
12.10.2009, 22:08
C++
1
a /= 2
это
C++
1
a = a / 2;
C++
1
return false;
Функция возвращает значение bool. Это значение принимает только 2 параматро true или false;

Функцию можно заменить на:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int f (int a)
{
        if (a == 0)
                return 0;
        while (a > 2)
        {
                if (a % 2 != 0)
                        return 0;
                a = a / 2;
        }
        if (a % 2 == 0)
            return 1;
        else
            return 0;
}
Вторую функцию аналогично.
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
13.10.2009, 00:24  [ТС]
qwert, хм...как-то кусками так не очень понятно...вторая функция это что?..хм...

Добавлено через 6 минут
Пожалуйста, объясните кто-нибудь, завтра,т.е. сегодня уже сдавать...
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
13.10.2009, 00:46
Функция f () определяет, можно ли разложить число по степени 2, а функция f1 () определяет, можно ли разложить число по степени 3.
Никто вам не запрещает взять код из функции и вставить его в цикл и обойтись без подпрограмм.
0
1 / 1 / 0
Регистрация: 05.10.2009
Сообщений: 101
13.10.2009, 01:14  [ТС]
qwert, увы, не умею оперировать с функциями...
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
13.10.2009, 10:20
NastiKor
это ты не можешь, то ты не проходила... как тогда тебе эту задачу будут решать, объясни?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.10.2009, 10:20
Помогаю со студенческими работами здесь

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов
Всем привет. Найдите пожалуйста проблему показывает одно и тоже число min= -2 Вот задание 5) Дана целочисленная квадратная...

Определить сумму элементов в тех столбцах матрицы, которые не содержат отрицательных элементов
помогите с программой. Дана целочисленная квадратная матрица. Определить: 1) сумму элементов в тех столбцах, которые не содержат...

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

Определить числа являющиеся степенью пятерки
Даны натуральное число n и целые числа A1...An. Определить числа являющиеся степенью пятерки. Определить процедуру, позво¬ляющую...

Определить, является ли натуральное число n степенью числа 3
Определить, является ли натуральное число n степенью числа 3


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru