Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2014, 17:44   #1
mital25
Пользователь
 
Регистрация: 06.03.2014
Сообщений: 28
По умолчанию Дана целочисленная прямоугольная матрица.программа на Си

вот задание :Дана целочисленная прямоугольная матрица.
1) Найти номера строк, содержащих отрицательные элементы;
2) Найти сумму модулей элементов в тех строках, которые содержат отрицательные
элементы
а вот мой код не пойму что делать и почему не правильно работает задание 1 в кейсе 3
Код:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <windows.h>
#include <malloc.h>

int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);

   int **a;
    int *b;
    int *c;
    int n;
    int i;
    int m;
    int j;
    int tmp;
    int count=0;

    int z;



    bool f = true;
    int item;
    printf("Введите число элементов массива(матрица должна быть прямоугольная)\n");
    scanf("%d%d", &n,&m);
    a = (int**)calloc(n, sizeof(int*));   // 1
    a[0] = (int*)calloc(n*m, sizeof(int));  // 2
    b = (int*)calloc(m, sizeof(int));
    c = (int*)calloc(m, sizeof(int));
    while(f){
        printf("\nВыберите режим работы\n");
        printf("0 - Выход из программы\n");
        printf("1 - Ввод элементов массива с клавиатуры\n");
        printf("2 - Вывести матрицу на экран\n");
        printf("3 - Задание 1\n");
        printf("4 - Задание 2\n");


        scanf("%d", &item);

        switch(item){
//      Выход из программы
        case 0:
            f = false;
        break;

//      Считывание элементов массива с клавиатуры
        case 1:


    for ( i = 1; i < n; ++i)        // 3
        a[i] = a[0] + i*m;

            if(!a){
                printf("Недостаточно памяти!\n");
                getchar();
                return 1;
            }
            for(i=0; i < n; i++)
                for(j=0; j < m; j++)
                {
                    printf("a[%d][%d] = ", i, j);
                    scanf("%d", &a[i][j]);
                }

                for(i=0; i < m; i++)
                  for(j=0; j < n; j++)
                  {
                    if(a[j][i] < 0)
                    {
                        tmp = abs(a[j][i]);
                        if(tmp % 2 != 0)
                            b[i] += tmp;
                    }
                  }

                break;

        case 2:
            for(i=0; i < n; i++)
            {

                for(j=0; j < m; j++)
                    printf( "%-7d ", a[i][j]);
                printf("\n");
            }
           break;
        case 3:
            /*printf("Вывести номера строк содержащих отриц элементы");
            printf("\n");*/
            for(i=0; i<n; i++)
            {
                if(count==m)
                printf("%d",i-1);

                for(j=0; j<m; j++)
                if(a[i][j] < 0)
                count=i;
            }
            printf ("\n%d",count);

            break;
        case 4:
             printf("Сумма модулей элементов строк содержащих хотя-бы один отриц элемент \n");


            break;

             default:
            printf("Неверный пункт меню!!!\n");
        }
    }

    printf("Работа программы завершена\n");
    free(a);
    getchar();
    return 0;
}
mital25 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана целочисленная прямоугольная матрица.Упорядочить строки по увеличению количества одинаковых элементов (Паскаль) Марина-1 Помощь студентам 2 08.12.2013 16:42
Дана целочисленная прямоугольная матрица. Nastasia_NST Помощь студентам 1 10.05.2012 21:23
Дана целочисленная прямоугольная матрица. Lollipo Общие вопросы C/C++ 1 12.10.2010 10:52
дана целочисленная прямоугольная матрица Jet-Tea Общие вопросы C/C++ 9 02.06.2010 16:41
Дана целочисленная прямоугольная матрица... gregorio Помощь студентам 1 22.04.2009 20:27