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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Rosa
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 8
#1

Матрицы: вывести номера строк, содержащих больше положительных элементов, чем отрицательных - C++

30.05.2012, 16:30. Просмотров 1798. Ответов 5
Метки нет (Все метки)

Здравствуйте всем!!! Пожалуйста помогите мне решить задачи по с++
1) Двумерный массив. Дана вещественная матрица размерности n * m. Вывести номера строк, содержащих больше положительных элементов, чем отрицательных.
Начала так,но как дальше незнаю...
C++ (Qt)
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
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#define n 3
#define m 3
 
int main()
{
int a[n][m]; 
int  i,j;
int k=0; int t=0;  
printf("vvedi massiv:\n");
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d", &a[i][j]);
}
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{if (a[i][j]>0)   t=t+1;
if (a[i][j]<0) k=k+1;}
 printf("t= %d",t);
 printf("\nk= %d",k);
for (i=1; i<=n; i++)
if (t>k) printf("\ni= %d", i);
_getch();
}
2) Функция. Напишите программу, которая с помощью функции определяющей максимальную цифру числа выводит на экран наибольшую из цифр заданных пользователем трех чисел. Например, если а=25, b=730, c=1235, то программа должна вывести на экран число 7.

Добавлено через 22 часа 3 минуты
Пожалуйста посмотрите мои задачи
Правильно ли эта задача?
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
#include <stdafx.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define n 3
#define m 3
 
int main()
{
    int   i, j;
    int  max=1,min=1;
    int  k1, k2;
    int  a[n][m];
    printf("vvesti a  massiv:");  
    for (i=1; i<=n; i++)    
    for (j=1; j<=m; j++)
         { 
        printf("a[%d][%d]=",i,j);
        scanf("%d", &a[i][j]);  
        if (i==n) printf("\n"); 
          }
    for (i=1; i<=n; i++)    
     {  
         k1=0; k2=0;
        for (j=1; j<=m; j++)
         { 
              if (a[i][j]>0) {k1=k1+1;}   
              if (a[i][j]<0) {k2=k2+1;}  
          }
           for (i=1; i<=n; i++)
               {if (k1>k2) printf("i= %d",i);}      
        _getch();
    }}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 16:30     Матрицы: вывести номера строк, содержащих больше положительных элементов, чем отрицательных
Посмотрите здесь:

Вывести номера строк, в которых чётных элементов массива больше чем нечётных - C++
Нужно вывести количество строк, а также номера строк, в которых чётных элементов двумерного массива больше чем не чётных. Вот мой код: ...

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

Найти в матрице столбцы, в которых положительных элементов больше, чем отрицательных - C++
Дана матрица. Найти в ней столбцы, в которых положительных элементов больше, чем отрицательных. Распечатать эти столбцы. === ...

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

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

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

Для заданного двумерного числового массива подсчитать количество таких строк, в которых положительных элементов больше, чем отрицатель-ных. - C++
Доброго времени суток. Помогите написать программу по заданию, но в более простом варианте. &quot;Для заданного двумерного числового...

Найти и вывести номера структур, содержащих числа больше заданного - C++
Имеется база данных, содержащая числители и знаменатели дробных чисел. Например, последовательность чисел 5/18, 7/13, 9/8, …...

Вывести строки матрицы, в которых модуль суммы отрицательных чисел больше модуля суммы положительных - C++
Друзья,помогите пожалуйста, если можете! Нужно создать матрицу M на N и заполнить её действительными числами, определить и вывести на...

Определить, что положительных чисел больше, чем отрицательных - C++
Найти количество положительных чисел среди четырёх целых чисел. Если количество положительных чисел больше количества отрицательных,то...

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

Верно ли то,что в последовательности больше отрицательных членов, чем положительных - C++
Дано натуральные числа N,a1,a2,...an. Верно ли то,что в последовательности больше отрицательных членов, чем положительных


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
wejustfun
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 15
30.05.2012, 19:11     Матрицы: вывести номера строк, содержащих больше положительных элементов, чем отрицательных #2
Задача номер один
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<iostream>
#include<iomanip>
#include<conio.h>
#include<time.h>
using namespace std;
 
int main()
{
    setlocale(0,"");
    float a[100][100],s=0;
    int n,m;
    srand(time(NULL));
 
    cout<<"Введите n: ";
    cin>>n;
    cout<<"Введите m: ";
    cin>>m;
 
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
        {
            cout<<"Введите а["<<i<<"]"<<"["<<j<<"]: ";
            cin>>a[i][j];
        }
 
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<setw(3)<<a[i][j];
        }
        cout<<endl;
    }
 
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            s=s+a[i][j];
        }
        
        if(s>0)
        cout<<"В строке "<<i+1<<" положительных элементов больше!"<<endl;
        s=0;
    }
 
    system("PAUSE");
    return 0;
}
Добавлено через 33 минуты
Задача номер два
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
53
54
55
56
57
#include<iostream>
#include<math.h>
#include<conio.h>
using namespace std;
 
void maximum(int,int,int);
 
int main()
{
    setlocale(0,"");
    int a,b,c;
    cout<<"Введите через пробел три числа: ";
    cin>>a>>b>>c;
    maximum(a,b,c);
 
    system("PAUSE");
    return 0;
}
 
void maximum(int x,int y,int z)
{
    int m,n,k;
    int max_m=0,max_n=0,max_k=0,result;
 
    while(x>0)
    {
        m=x%10;
        if(m>max_m)
            max_m=m;
        x=x/10;
    }
 
    while(y>0)
    {
        n=y%10;
        if(n>max_n)
            max_n=n;
        y=y/10;
    }
 
    while(z>0)
    {
        
        k=z%10;
        if(k>max_k)
            max_k=k;
        z=z/10;
    }
 
    if(max_m>max_n&&max_m>max_k)
        result=max_m;
    if(max_m<max_n&&max_n>max_k)
        result=max_n;
    if(max_m<max_n&&max_n<max_k)
        result=max_k;
    cout<<"Наибольшая цифра: "<<result<<endl;
}
Добавлено через 2 минуты
Написано конечно не супер, но как умею...сам учусь....пользуюсь Visual Studio 2010...на моем компиляторе все компилируется все запускается)

Добавлено через 22 минуты
Можете также найти сначала наибольшее число из трех,а потом относительно него построить один while, если смущают три(я про второе задание)
Rosa
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 8
30.05.2012, 19:18  [ТС]     Матрицы: вывести номера строк, содержащих больше положительных элементов, чем отрицательных #3
Мне надо их решить без <iostream>...
Но все равно ОГРОМНОЕ СПАСИБО вам за то что помогли!!!
wejustfun
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 15
30.05.2012, 22:33     Матрицы: вывести номера строк, содержащих больше положительных элементов, чем отрицательных #4
Мммм....Rosa, извиняюсь за первую задачу...я думал вам нужно вывести строку, если сумма элементов ее больше нуля...я переделал,вот то, что вам нужно....думаю я не буду переделывать без библиотеки iostream вам же нужно было понять только алгоритм решения как я понимаю,тем более заголовочный файл IOSTREAM отвечает только за ввод вывод,так что алгоритм решения будет тот же...вот первая задача,переделанная под то условие, которое интересует вас.
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
53
#include<iostream>
#include<iomanip>
#include<conio.h>
#include<time.h>
using namespace std;
 
int main()
{
    setlocale(0,"");
    float a[100][100];
    int n,m,pol=0,otr=0;
    srand(time(NULL));
 
    cout<<"Введите n: ";
    cin>>n;
    cout<<"Введите m: ";
    cin>>m;
 
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
        {
            cout<<"Введите а["<<i<<"]"<<"["<<j<<"]: ";
            cin>>a[i][j];
        }
 
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<setw(3)<<a[i][j];
        }
        cout<<endl;
    }
 
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(a[i][j]>=0)
                pol++;
            else
                otr++;
        }
        
        if(pol-otr>0)
        cout<<"В строке "<<i+1<<" положительных элементов больше!"<<endl;
        pol=0;
        otr=0;
    }
 
    system("PAUSE");
    return 0;
}
Rosa
0 / 0 / 0
Регистрация: 29.05.2012
Сообщений: 8
31.05.2012, 07:00  [ТС]     Матрицы: вывести номера строк, содержащих больше положительных элементов, чем отрицательных #5
Ваш алгоритм программы работает на отлично! Благодарю!!!
wejustfun
1 / 1 / 0
Регистрация: 20.12.2010
Сообщений: 15
31.05.2012, 10:19     Матрицы: вывести номера строк, содержащих больше положительных элементов, чем отрицательных #6
Обращайтесь)
Yandex
Объявления
31.05.2012, 10:19     Матрицы: вывести номера строк, содержащих больше положительных элементов, чем отрицательных
Ответ Создать тему
Опции темы

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