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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2009, 23:27   #1
wepoTWR
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 20
По умолчанию Направьте на верный путь...

У меня задача: Дана символьная матрица размера 4 х 5. Из последовательности её строк сформировать новую строку и определить ее длину. Проверить наличие символа ‘a’ в ней.
Нужно написать программу с классом и объектами.

Вот моя программа:
Код:
#include<iostream>
#include<time.h>
#include <vcl.h>
#pragma hdrstop
#include <conio.h>
#include <cstring.h>
#include <fstream.h>
using namespace std;
 
 
 
//создаем класс для обработки матриц 4x5:
class matrixINI
{
int k,l,ll,CountA
char c
//Функция класса
//инициализация и вывода инф. про матрицу:
public:
        void matrixINF(char matr[][5], int n);  {
        cout<<endl;
        cout<<"Vasha stroka=";
        CountA=0
                for(int k=0; k<n; k++)
                {
                for(int l=0; l<5; l++)
                        {
//формируем строку из матриц. и выводим, считаем "a": 
                        c=matr[k][l]
                        if(c=='a')
                        CountA++;
        cout<<c;
                        }
                }
        cout<<endl;
//длина строки:
        cout<<"Dlinna stroki="k*l;
        cout<<endl;
        cout<<"A vstrechaetcaetca="<<CountA;
 
}
 
 
 
 
 
 
//Применение:
void main()
{
 int const n=4;
 int const m=5;
 int i,j;
 char a[n][m];
 
//случайным образом сформировали матрицу:
 srand(time(0));
 for(int i=0; i<n; i++)
 {
  for(int j=0; j<m; j++)
  {
  a[i][j]=(char)(rand()%24+97);
  }
 }
 
//создаём экземпляр класса matrixINI
matrixINI MX
//вывода инф. про матрицу используя функцию класса matrixINF
MX.matrixINF
 
system("pause");
}
Я запускаю программу и уменя выводит следующие ошибки:
1)Ошибка:[C++ Error] Unit1.cpp(16): E2139 Declaration missing ;
Строка:char* c
2)Ошибка:[C++ Error] Unit1.cpp(20): E2040 Declaration terminated incorrectly
Строка:void* matrixINF(char matr[][5], int n); {
3)Ошибка:[C++ Error] Unit1.cpp(76): E2040 Declaration terminated incorrectly
Никогда такого не видел: каждый раз, когда кликаю на ошибку появлятся новая строка (пустая)
* - место, где стоит курсор

Мне сказали сделать следующее:
1.вместо: char с - объяви массив с[1] и в тексте с замени на с[1]
2 и 3-void* matrixINF(char matr[][5], int n); посмотри
в справочнике как вызвать функцию с параметром двухмерный массив (я точно не помню), она ругается на вызов кажись...

В 1 пункте я вроде подправил, а второй и третий не соображу... Но программа все равно не работает!!! Если кто может, то напишите пожалуйста строки, которые нужно исправить...
wepoTWR вне форума Ответить с цитированием
Старый 24.12.2009, 00:53   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Код:
void matrixINF(char matr[][5], int n);// Убери ;(точка с запятой)
И попробуй объяви так
Код:
void matrixINF(char *matr[5], int n)
//или
void matrixINF(char **matr, int n) // точно не помню:(
psycho-coder вне форума Ответить с цитированием
Старый 24.12.2009, 10:29   #3
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Код:
//создаем класс для обработки матриц 4x5:
class matrixINI
{
int k,l,ll,CountA;
char c;
//Функция класса
//инициализация и вывода инф. про матрицу:
public:
        void matrixINF(char matr[][5], int n);  {
        cout<<endl;
        cout<<"Vasha stroka=";
        CountA=0;
                for(int k=0; k<n; k++)
                {
                for(int l=0; l<5; l++)
                        {
//формируем строку из матриц. и выводим, считаем "a": 
                        c=matr[k][l];
                        if(c=='a')
                        CountA++;
        cout<<c;
                        }
                }
        cout<<endl;
//длина строки:
        cout<<"Dlinna stroki="k*l;
        cout<<endl;
        cout<<"A vstrechaetcaetca="<<CountA;
 
};
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 26.12.2009, 20:03   #4
wepoTWR
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 20
По умолчанию

вроде все сделал, а серавно выдает ошибку:
Build
[C++ Error] Unit1.cpp(19): E2139 Declaration missing ;
[C++ Error] Unit1.cpp(76): E2040 Declaration terminated incorrectly
Он публик выделяет...
wepoTWR вне форума Ответить с цитированием
Старый 26.12.2009, 21:21   #5
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Исправленный код в студию.
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Старый 27.12.2009, 12:54   #6
wepoTWR
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 20
По умолчанию

Код:
#include<iostream>
#include<time.h>
#include <vcl.h>
#pragma hdrstop
#include <conio.h>
#include <cstring.h>
#include <fstream.h>
using namespace std



//создаем класс для обработки матриц 4x5:
class matrixINI;
{
int k,l,ll,CountA;
char c;
//Функция класса
//инициализация и вывода инф. про матрицу:
public:
        void matrixINF(char matr[][5], int n)  {
        cout<<endl;
        cout<<"Vasha stroka=";
        CountA=0;
                for(int k=0; k<n; k++)
                {
                for(int l=0; l<5; l++)
                        {
//формируем строку из матриц. и выводим, считаем "a":
                        c=matr[k][l];
                        if(c=='a')
                        CountA++;
        cout<<c;
                        }
                }
        cout<<endl;
//длина строки:
        cout<<"Dlinna stroki="k*l
        cout<<endl;
        cout<<"A vstrechaetcaetca="<<CountA;
 
};






//Применение:
void main()
{
 int const n=4;
 int const m=5;
 int i,j;
 char a[n][m];

//случайным образом сформировали матрицу:
 srand(time(0));
 for(int i=0; i<n; i++)
 {
  for(int j=0; j<m; j++)
  {
  a[i][j]=(char)(rand()%24+97);
  }
 }

//создаём экземпляр класса matrixINI
matrixINI MX;
//вывода инф. про матрицу используя функцию класса matrixINF
MX.matrixINF

system("pause")
}

[C++ Error] Unit1.cpp(13): E2139 Declaration missing ;
class matrixINI;
[C++ Error] Unit1.cpp(14): E2040 Declaration terminated incorrectly
{
wepoTWR вне форума Ответить с цитированием
Старый 27.12.2009, 12:56   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
class matrixINI;
Цитата:
void matrixINF
Эм.. Может все-таки INF?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 27.12.2009, 13:17   #8
wepoTWR
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 20
По умолчанию

все равно ругается... блин
wepoTWR вне форума Ответить с цитированием
Старый 28.12.2009, 08:21   #9
wepoTWR
Пользователь
 
Регистрация: 29.09.2009
Сообщений: 20
По умолчанию

сделал!(:
Код:
#include<iostream>
#include<time.h>
#include <vcl.h>
#pragma hdrstop
#include <conio.h>
#include <cstring.h>
#include <fstream.h>
using namespace std;

                 

//создаем класс для обработки матриц 4x5:
class matrixINI
{
int k,l,ll,CountA;
char c;
//Функция класса
//инициализация и вывода инф. про матрицу:
public:
        void matrixINF(char matr[][5], int n)
            {
        cout<<endl;
        cout<<"Vasha stroka=";
        CountA=0;
                for(k=0; k<n; k++)
                {
                for(l=0; l<5; l++)
                        {
//формируем строку из матриц. и выводим, считаем "a":
                        c = matr[k][l];
                        if(c=='a')
                        CountA++;
        cout<<c;
                        }
                }
        cout<<endl;
//длина строки:
        cout<<"Dlinna stroki=";
            cout<<(k*l);
        cout<<endl;
        cout<<"A vstrechaetcaetca="<<CountA;
            }
 
};

//Применение:
void main()
{
 int const n=4;
 int const m=5;
 int i,j;
 char a[n][m];

//случайным образом сформировали матрицу:
 srand(time(0));
 for(int i=0; i<n; i++)
 {
  for(int j=0; j<m; j++)
  {
  a[i][j] = (char)(rand()%24+97);
  }
 }

//создаём экземпляр класса matrixINI
matrixINI MX;
//вывода инф. про матрицу используя функцию класса matrixINF
MX.matrixINF(a,4);

system("pause");
}
wepoTWR вне форума Ответить с цитированием
Старый 28.12.2009, 08:59   #10
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Цитата:
Код:
void matrixINF(char matr[][5], int n)
А почему не
Код:
void matrixINI (char matr[][5], int n)
Это же конструктор, да?
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Направьте на верный путь wepoTWR Помощь студентам 1 13.12.2009 13:47
Направьте на путь истинный! Pandrey Помощь студентам 26 16.05.2009 01:08
Помогите, подскажите, направьте MaryM Помощь студентам 2 21.06.2007 10:33
Направьте на путь истинный! [FlekS] Помощь студентам 3 20.02.2007 11:51