Двумерные массивы

Тема в разделе "C/C++/C#", создана пользователем Rivass, 5 ноя 2010.

Статус темы:
Закрыта.
  1. Rivass

    Rivass Гость

    С одномерными массивами разобрался, теперь столкнулся с двумерными массивами, типа матриц.... Прошу помощи, объясните пожалуйста как осуществлять ввод вывод, трудновато себе представляю. Вот например задачка:
    Вводится матрица целых чисел A размерами N × M (N - количество строк, М - ко-личество столбцов), а также целое число K. Вывести сумму элементов матрицы, стоящих в K-ой строке.
    Попытался, что-то как-то, но нет представления, бошка кипит...
    Код (C++):
    #include<stdio.h>
    #include<stdlib.h>
    int a[50][50],n,m,k,i,j,s;
    void main(){
    scanf_s ("%d%d%d",&n,&m,&k);
    for(i=0,j=0;i<n && j<m;i++,j++)
    scanf_s ("%d%d",&a[i],&a[j]);
    for (int i=0;i<n;i++)
    {
    for (int j=0;j<m;j++)
    {
    if(i==k)
    s=0+a[i][j];
    }
    }
    printf("%d",s);
    }
    Понимаю что бред, но хоть что-то...
     
  2. flashkpi

    flashkpi Гость

    Вам здесь даже ненадо вложенный цикл для вычисления суммы э-тов, стоящих в к-той строке
    Код (Text):
    s=0;
    for (int j=0; j<m; j++)
    s+=a[k][j];
    Ваша строка не будет находить сумму s=0+a[j]; Так как она будет прибавлять э-т матрицы не к себе, а к 0, и соответственно будет выдавать э-т матрицы , а не их сумму.
    Ввод матрицы можно организовать так:
    Код (Text):
     for (int i=0; i< n; i++)
    for(int j=0; j<m; j++)
    scanf("%d",a[i][j]);
     
  3. Rivass

    Rivass Гость

    Огромное спасибо что помогли, особенно с вводом двумерной матрицы теперь точно понял))
    Разобрался в вашем коде и всё понял, вот такая программка получилась, всё правильно считает!
    Код (C++):
    #include<stdio.h>
    #include<stdlib.h>
    int a[50][50],n,m,k,i,j,s;
    void main(){
    scanf_s ("%d%d%d",&n,&m,&k);
    for (i=0; i<n; i++)
    for (j=0; j<m; j++)
    scanf_s("%d",&a[i][j]);
    for(i=0,s=0;i<m;i++)
    s=s+a[k][i];
    printf("%d",s);
    }
    rrrFer у вас очень понятные коды и программы, низкий поклон)
     
  4. Rivass

    Rivass Гость

    rrrFer
    Спасибо большое за замечания, ну проверку я удалил потому что преподаватель этого не требует... один раз я сделал проверку которая выводит ошибку если что не так, препод сказал не нужно делать - этого не требуется.
    А почему не вводить как глобальные переменные?) Что может случиться?)
    Библиотеку я ввел не намерено, просто когда делаю новую задачку, копирую из старой код, чтобы всё заново не печатать)
     
  5. Rivass

    Rivass Гость

    rrrFer
    Ааа, вот оно что... Да, теперь понятно, в следующий раз буду стараться всегда вводить локальные переменные)
    Большое спасибо!
     
Загрузка...
Похожие Темы - Двумерные массивы
  1. Rpp
    Ответов:
    1
    Просмотров:
    809
  2. Малгано
    Ответов:
    0
    Просмотров:
    1.289
  3. 203
    Ответов:
    12
    Просмотров:
    2.449
  4. SchwarzeWolfin
    Ответов:
    3
    Просмотров:
    2.501
  5. Искушенный
    Ответов:
    0
    Просмотров:
    430
Статус темы:
Закрыта.

Поделиться этой страницей