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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2014, 19:42   #1
Антон0608
Пользователь
 
Регистрация: 21.03.2014
Сообщений: 16
По умолчанию отладка. Что к чему не пойму.

Добрый день форумчане.
Я только начал изучать С++ и попробовал написать первую программу.
Ну и как всегда первый блин комом.
Хотелось бы увидеть Ваше мнение о том как реализовать мою программу.
Я читаю книги и поэтому писать о том что нужно прочитать книги НЕ нужно.
Код:
#include <iostream>
#include <conio.h>
#include <stdafx.h>

using namespace std;
using std::cout;
using std::cin;

char 'A';
char 'B';
char 'C';

int main()
{
  
int [N][L];
  L=10;

cout << vvod;
cin >> N;

int **p=new int *[N];
for(int i(0); i<N; i++)
p[i]=new int[L];

for(int i(0); i<N; i++);
{
	for (int j(0); j < 10 ;j++ );
	{
		switch
			case:char 'A'='A';
				 char 'A'++;break;
			case:char 'B'='B';
				 char 'B'++;break;
			case:char 'C'='C';
				 char 'C'++;break;
			default: cout << 123;
	}
	cout << char 'A'<< char 'A'<< endl;
	cout << char 'B'<< char 'B'<< endl;
	cout << char 'C'<< char 'C'<< endl;
					
}
for(int i(0);i<N;i++ );

 delete []p[i];

      delete []p;
   _getch();
   return  0;

}
Вот что программа должна делать
Цитата:

ААБВАВББАА
АВВББАВАВА
ВААББАВАВА
АББВВАВВВВ
АБВВААВВАА
Вот к примеру у меня есть строки с символами, строк может быть хоть сколько.
Мне нужно чтобы программа считала КОЛИЧЕСТВО символов.
например
Первые символы во всех строках А=4
Б=0
В=1
вторые символы А=2
Б=2
В=1
и так далее
количество символов в строке всегда одинаково
а вот строк всегда разное количество
ПОМОГИТЕ кто понимает как это можно реализовать.
Заранее Спасибо.
И еще люди которые считают себя программистами от бога, но не могут посоветовать ни чего кроме книжки которую случайно нашли в поисковике Просьба не чего не писать.

Последний раз редактировалось Stilet; 22.03.2014 в 21:10.
Антон0608 вне форума Ответить с цитированием
Старый 22.03.2014, 20:20   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

А зачем кавычки?
Код:
 char 'A';
 char 'B';
 char 'C';
Это как так - объявить константу , что ли?
type_Oleg вне форума Ответить с цитированием
Старый 22.03.2014, 20:24   #3
Антон0608
Пользователь
 
Регистрация: 21.03.2014
Сообщений: 16
По умолчанию

ну с кавычками понятно и переменной char тоже ( как ее объявлять. инициализировать и т.д.)
а что с константой ???
Антон0608 вне форума Ответить с цитированием
Старый 22.03.2014, 20:45   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Антон0608 Посмотреть сообщение
Ну и как всегда первый блин комом.
Не Вы перваый, у кого блин комом. Программистом, можно назваться, но что-бы стать, нужно попотеть.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 22.03.2014, 21:08   #5
Антон0608
Пользователь
 
Регистрация: 21.03.2014
Сообщений: 16
По умолчанию не много доработал. но все равно не работает

Код:
#include <iostream>
#include <conio.h>
#include "stdafx.h"

using namespace std;
using std::cout;
using std::cin;



char a ='A';
char b ='B';
char c ='C';

 int d = 0;
 int g = 0;
 int e = 0;

 int main()
 {
	 UnknownType N; 
	 
	 const L =10;
	int[N][L];

	 cout << 'Vvod';

	  cin >> N ;
	  


	int **p=new int *[N];
	for(int i(0); i<N; i++)
		p[i]=new int[L];

	for(int i(0); i<N; i++);
	{
		for (int j(0); j < 10 ;j++ );
		{
			switch
			case a : d++; break;
			case b : g++; break;
			case c : e++; break;
			default : cout<< 'Pykazon';


		
		cout << a; '='<< d;
		cout << b; '='<< g;
		cout << c;'='<< e;
		}
	}
	for(int i(0);i<N;i++ );

	delete []p[i];

	delete []p;
				  

	return 0;
}

Последний раз редактировалось Stilet; 22.03.2014 в 21:12.
Антон0608 вне форума Ответить с цитированием
Старый 22.03.2014, 23:40   #6
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

to Антон0608
Цитата:
Я читаю книги и поэтому писать о том что нужно прочитать книги НЕ нужно.
Прочитайте сагу о X,Y и Z. Особенно, обратите внимание на последний абзац про Z.
Цитата:
Код:
switch
case a : d++; break;
case b : g++; break;
case c : e++; break;
default : cout<< 'Pykazon';
Разве в книгах, которые Вы читали, не написано о том, как правильно реализовывать оператор switch?
Цитата:
Код:
cout << 'Vvod';
Или правильно описывать строковую константу?
Вот проверенные рабочие варианты (для сравнения):
Код:
switch(ch)
{
	case 'A': count_A++;break;
	case 'B': count_B++;break;
	case 'C': count_C++;break;
	default: cout<<"Error";
};
и
Код:
cout << "Vvod";
Остальной Ваш код я в этом посте разбирать не буду потому, что сказанное выше, к сожалению, справедливо для большинства операторов.
Всё это вовсе никакие не сверхсложные, а абсолютно элементарные вещи, о которых говорится в первых главах любой книги для начинающих. Так, что простите, но Вы обижаетесь совершенно напрасно.
Я даже не говорю о том, что кроме обилия синтаксических ошибок, ещё отсутствует элементарный ввод исходных данных и пр.
Цитата:
Ну и как всегда первый блин комом.
Ошибки в программировании дело обычное. Даже у профессионалов. И поэтому, помимо написания программ оно подразумевает также анализ и исправление ошибок.
По поводу анализа ошибок. Неужели компилятор ничего не пишет, хотя бы по поводу синтаксиса?
Или Вы ждёте, что кто-то за Вас отладит Вашу же первую программу и, дописав в неё то, что не хватает, выложит в тему готовый код?
Не хочу никого обидеть, я прекрасно понимаю, что все мы когда-то были новичками. Только, когда речь идёт о студентах, такие вещи ещё можно как-то понять. Но, для самообразования это абсурд.
Цитата:
но не могут посоветовать ни чего кроме книжки
А, что Вы хотите, чтобы Вам посоветовали? Что Вы подразумеваете под советом?
Увы, но в данном случае книги по основам C++, это самый адекватный совет. Рекомендацию по поводу книги я Вам дал в Вашей предыдущей теме.
to Smitt&Wesson
Цитата:
Программистом, можно назваться, но что-бы стать, нужно попотеть.
Совершенно согласен с Вами. Научиться программировать можно только программируя. Необходимые знания и навыки сами по себе не придут.
Streletz вне форума Ответить с цитированием
Старый 23.03.2014, 00:41   #7
Антон0608
Пользователь
 
Регистрация: 21.03.2014
Сообщений: 16
По умолчанию

спасибо за ответ.
я не имел ввиду что мне не нужно рекомендовать книги которые нужно читать.
есть просто такие уникумы которые читая чью-нибудь тему в которой просят о помощи пишут просто читай там шильда или архангельскую и не чего более.
если ты уж считаешь себя программистам от бога то я думаю можно помочь человеку не советую тупо только книги. покажи пример или объясни подробно. как то так ( ВЫ не думайте это я не лично Вам Streletz) это я в общем ))
еще раз спасибо за совет.

и еще я изучаю С++ только 3 недели и поэтому понятно что я что то не знаю или делаю что то не так. Поэтому я здесь и прошу помощи у более опытных.
Код:
#include <iostream>
#include <conio.h>
 
using namespace std;
using std::cout;
using std::cin;
 
 
int main()
{
    const char a ='A';
    const char b ='B';
    const char c ='C';
 
    char ch;
    while (1) {
        int d = 0;
        int g = 0;
        int e = 0;
        while(cin.get(ch) && ch != '\n') {
            switch (ch){
                case a : d++; break;
                case b : g++; break;
                case c : e++; break;
            }
        }
        std::cout << "a = " << d << std::endl;
        std::cout << "b = " << g << std::endl;
        std::cout << "c = " << e << std::endl;
    }   
 
    std::cin.get();
    std::cin.get();
    return 0;
}
вот на другом форуме мне вот так подсказали
Код:
#include <iostream>
#include <conio.h>
 
using namespace std;
using std::cout;
using std::cin;
 
 
int main()
{
    const char a ='A';
    const char b ='B';
    const char c ='C';
    int p, z = 0;
    std::cout << "Count N: ";
    (std::cin >> p).get();
 
    char ch;
    while (z != p) {
        int d = 0;
        int g = 0;
        int e = 0;
        while(cin.get(ch) && ch != '\n') {
            switch (ch){
                case a : d++; break;
                case b : g++; break;
                case c : e++; break;
            }
        }
        std::cout << "a = " << d << std::endl;
        std::cout << "b = " << g << std::endl;
        std::cout << "c = " << e << std::endl;
        z++;
    }   
    std::cout << "Done!";
 
    std::cin.get();
    std::cin.get();
    return 0;
}
и вот
но тут я вообще не чего не понимаю
хотя vs C++ не выдает ошибок но все равно не работает

Последний раз редактировалось Stilet; 23.03.2014 в 10:20.
Антон0608 вне форума Ответить с цитированием
Старый 23.03.2014, 01:23   #8
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
читай там шильда
У Шилдта основной акцент сделан на ООП. Начинающим программистам, которые ещё не владеют в достаточной степени базовыми вещами, его сложно понять. Это уже, скажем так, для "более опытных начинающих".
Для тех, кто только начинает знакомство с C++, лучше Дейтел. Все элементарные и, главное базовые, вещи там объяснены, можно сказать, "на пальцах" и с хорошими примерами.
Цитата:
я изучаю С++
Прекрасно!
Однако, для того, чтобы освоить программирование недостаточно просто изучить язык. Необходимо также изучение сопутствующих областей знания. В частности, математики.
Цитата:
Код:
while(cin.get(ch) && ch != '\n') {
switch (ch){
case a : d++; break;
case b : g++; break;
case c : e++; break;
}
Вспоминаем предыдущий абзац про математику. Ваша программа работает, по сути с вектором из строк одинаковой длины.
Для реализации ввода вектора в программу, уже давно существует ряд стандартных решений. В частности, вот одно из них: Функции на ввод - вывод векторов и матриц.
Streletz вне форума Ответить с цитированием
Старый 23.03.2014, 16:45   #9
Антон0608
Пользователь
 
Регистрация: 21.03.2014
Сообщений: 16
По умолчанию опять не так

#include "stdafx.h"
#include <iostream>
#include <conio.h>

using namespace std;
using std::cout;
using std::cin;
using std::endl;

int main()
{

const char a ='A';
const char b ='B';
const char c ='C';



int mas[5][10];

std::cout << "Vvod";
std::cin >>"maccuB">>mas ; КРИЧИТ ЧТО тут ошибка


int d=0;
int g=0;
int e=0;


for (int i=0;i<5;i++ )
{
for(int j=0;j<10;j++)



switch (a,b,c)
{
case a : d++; break;
case b : g++; break;
case c : e++; break;
}
}
std::cout << "a = " << d << std::endl;
std::cout << "b = " << g << std::endl;
std::cout << "c = " << e << std::endl;


std::cout << "Done!";

std::cin.get();
std::cin.get();
return 0;
}
Антон0608 вне форума Ответить с цитированием
Старый 23.03.2014, 16:55   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,322
По умолчанию

1) Не забывайте использовать кнопочку # Решетка для оформления кода.
2) Что Вы хотели сказать строчкой switch (a,b,c)?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
winSock/ Поясните что к чему Чайничек. Работа с сетью в Delphi 1 30.06.2013 13:20
cgi что к чему mar4elo PHP 5 13.02.2011 14:47
Генератор слов - что к чему? Ramal Общие вопросы Delphi 8 16.07.2009 01:11
дойти не может что к чему if-soft Паскаль, Turbo Pascal, PascalABC.NET 7 07.10.2008 10:45