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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.11.2008, 15:55   #11
TheWanderer
Пользователь Подтвердите свой е-майл
 
Регистрация: 01.10.2008
Сообщений: 82
По умолчанию

Вопрос тем, у кого стоит Microsoft Visual Studio работает ли у вас ниже приведённая программа нормально?
Код:
#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	setlocale(LC_ALL,"Russian");
	int const n=10;
	char *st[]={"Германия\0","Норвегия\0","Россия\0","Автсралия\0","Канада\0","США\0","Финляндия\0","Япония\0","Китай\0","Корея\0"};
	char buf[9];
	int result[n+1][5],i,j,max;
	printf("Введите в одной строке количество золотых, серебряных и бронзовых медалей.\n");
	for(i=0;i<n;i++)
	{
		printf("%s: ",st[i]);
		scanf("%i %i %i",&result[i][0],&result[i][1],&result[i][2]);
	}
	for(i=0;i<n;i++)
	{
		result[i][3]=result[i][0]+result[i][1]+result[i][2];
		result[i][4]=result[i][0]*7+result[i][1]*6+result[i][2]*5;
	}
	for(i=0;i<n-1;i++)
	{
		max=i;
		for(j=i+1;j<n;j++)
			if(result[j][4]>result[max][4]) max=j;
		strcpy(buf,st[i]);
		strcpy(st[i],st[max]);
		strcpy(st[max],buf);
		for(j=0;j<5;j++)
			result[n][j]=result[i][j];
		for(j=0;j<5;j++)
			result[i][j]=result[max][j];
		for(j=0;j<5;j++)
			result[max][j]=result[n][j];
	}
	for(i=0;i<n;i++)
		printf("%s\n",st[i]);
	return 0;
	system("pause");
}
TheWanderer вне форума
Старый 28.11.2008, 18:32   #12
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

нельзя изменять данные в строке, если ты определил ее как char *str = "123";
переменная buff была слишком маленького объема, у тя были названия и по 10 символов, а ты завел на 9.

сам код очень корявый, алгоритм не проверял
Код:
#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	setlocale(LC_ALL,"Russian");

	int const n=10;
	char st[][64] = 
	{
		"germany\0",
		"norvegia\0",
		"russia\0",
		"australia\0",
		"canada\0",
		"USA\0",
		"Finland\0",
		"Japan\0",
		"China\0",
		"Korea\0"
	};
	char buf[64];
	int result[n+1][5],i,j,max;

	printf("Input count gold, silver, bronze\n");
	for(i=0;i<n;i++)
	{
		printf("%s: ",st[i]);
		scanf("%i %i %i",&result[i][0],&result[i][1],&result[i][2]);
	}

	for(i=0;i<n;i++)
	{
		result[i][3]=result[i][0]+result[i][1]+result[i][2];
		result[i][4]=result[i][0]*7+result[i][1]*6+result[i][2]*5;
	}

	for (i = 0; i < n - 1; i++)
	{
		max = i;
		for (j = i + 1; j < n; j++)
			if (result[j][4] > result[max][4]) 
				max = j;

		strcpy(buf,st[i]);
		strcpy(st[i],st[max]);
		strcpy(st[max],buf);
		for(j=0;j<5;j++)
			result[n][j]=result[i][j];
		for(j=0;j<5;j++)
			result[i][j]=result[max][j];
		for(j=0;j<5;j++)
			result[max][j]=result[n][j];
	}

	for(i=0;i<n;i++)
		printf("%s\n",st[i]);

	return 0;
	system("pause");
}
и прекрати использовать русский текст в консоле. мало того, что он у меня все равно криво выводился, так он еще и в коде раздражает. не нужен русский текст в таких прогах
vvviperrr вне форума
Старый 04.07.2013, 03:16   #13
MikeDebil
 
Регистрация: 04.07.2013
Сообщений: 6
По умолчанию

Здрасьте, я дебил.
Помогите пожалуйста, что-то не нравится компилятору в функции strcpy
Программа обычная, показывает использование контрукторов в производном классе и их инициализацю
вот код:
#include <iostream>
#include <string.h>

using namespace std;
class team
{char title[100];
public:
team(char *ttile0);
};

class player : public team
{
char surname[100];
public:
player(char *title0 ,char *surname0);
};
// описание конструкторов
team :: team(char *title0)
: title(title0) // инициализация членов класса team
{
strcpy(title, title0);
cout << "Команда "<< title << " появляется на поле\n ";
}
player :: player(char *title0, char *surname0)
: team(title0), // инициализация членов базовго класса
surname(surname0)// инициализация членов класса player
{
strcpy(surname, surname0);
cout << "Игрок " <<surname<< " выходит на поле\n" ;
}

int main()
{ setlocale( LC_ALL,"Russian" );
player P("Zenit", "Hulk");
// ничего не делается но выполняются конструкторы
return 0;
}
MikeDebil вне форума
Старый 04.07.2013, 03:20   #14
MikeDebil
 
Регистрация: 04.07.2013
Сообщений: 6
По умолчанию

Вот скрин ругани компилятора:
Изображения
Тип файла: jpg ошбка((.jpg (75.7 Кб, 153 просмотров)
MikeDebil вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с gets() TheWanderer Общие вопросы C/C++ 12 21.11.2008 14:35
strcpy (visual c++ 6.0) JOFRIF Visual C++ 2 04.08.2008 12:19
Проблема. kupulau Общие вопросы C/C++ 19 05.02.2008 21:11
Проблема Vanek B Общие вопросы Delphi 4 17.12.2006 13:30