Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: [С++] Матрица  (Прочитано 8691 раз)
0 Пользователей и 1 Гость смотрят эту тему.
хомка
Гость
« : 31-03-2009 22:49 » 

ПОмогите, пожалуйста, с прогой. Поставлена задача: сформировать массив НАТУРАЛЬНЫХ чисел из m-строк и n-столбцов. Найти все числа матрицы, которые содержат цифру, введенную с клавы, и подсчитать их количество...
Код:
\\

.h:

#include <iostream>
using namespace std;

\\

.c++:

#include "poisk.h"
#include "conio.h"
int main()
{int i, j, m, n, p, r, f;
cout<<"Vvedite kolichestvo strok A "; cin>>m;
cout<<"Vvedite kolichestvo stolbcov A "; cin>>n;
int **A=new int*[m] ;
for (i=1;i<=m;i++) {A[i]= new int[n];}
cout<<"\nVvedite matricy A \n";
for (i=1;i<=m;i++) for(j=1; j<=n; j++)
do
cin>>A[i][j];
while(A[i][j]<0)
cin>>A[i][j];


\\

- создала я массив этот, ввела элементы...
теперь что??
нужно испоользовать функцию itoa? как и куда ее?? я о ней ничего не знаю:(
или она тут ни к чему?

в общем, кому не жалко, не могли бы вы подсказать, что с этим дальше делать?...
« Последнее редактирование: 01-04-2009 03:14 от Алексей1153++ » Записан
alex87
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 01-04-2009 05:19 » 

переберай матрицу и сравнивай с числом которрое введено с клавы
это приблизительно так:
Код:
for (i=1;i<=m;i++) 
{
    for(j=1; j<=n; j++)
    {
        if (A[i][j]=p)
            kol++;
    }
}
// выбод kol
« Последнее редактирование: 01-04-2009 05:57 от Вад » Записан

Улыбаюсь Ага
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 01-04-2009 06:04 » 

К вышеприведённому решению: угу, только индексы массивов в C++ всегда начинаются с 0, поскольку массив - низкоуровневое понятие, и указатель при объявлении статического или выделении динамического массива будет указывать на начальный элемент массива, а [] просто позволяет обратиться к элементу массива с соответствующим смещением относительно начала. Для первого элемента такое смещение равно нулю.

соответственно, корректный код будет делать так:
Код:
for (i=0;i<m;i++) 
    for(j=0; j<n; j++)
    //...
Записан
хомка
Гость
« Ответ #3 : 02-04-2009 11:36 » 

спасибо всем большое))
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines