Forums.Avtograd.Ru: Вопросы по C++ - Forums.Avtograd.Ru

Перейти к содержимому

  • (13 Страниц)
  • +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Вопросы по C++

#1 Пользователь офлайн   Arion

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 25
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 09:44

тема говорит сама за себя, задавайте ваши вопросы по С++
0


  • (13 Страниц)
  • +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Другие ответы в этой теме

#2 Пользователь офлайн   FJ

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 265
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 10:04

ну, повторю свой вопрос со старого форума, может кто-то сможет помочь...

как сделать сортировку по алфавиту фамилий в структуре:

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void main(){
	const n = 4, k = 5;
	int i,j,d, bad = 0;

	struct student{
		char name[30];
		int group;
		int en[k];
	};
	student st[n], save;
	//ввод данных с клавиатуры, вывод на экран этих данных
	for (i = 0; i <= n-1; i++){
		printf("%d. ",i+1);
		printf("name: ");
		scanf("%s", &st[i].name);
		printf("group: ");
		scanf("%d", &st[i].group);
		printf("for student %d enter ",i+1);
		printf("5 estimates: \n");
		for (j = 0; j <= k-1; j++){
			printf("estimate %d: ",j+1); 
			scanf("%d", &st[i].en[j]);
		}  
	}

0

#3 Пользователь офлайн   NeoM@ster

  • Активный пользователь
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 508
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 10:17

а чё такое C++???
это чё то вроде осла???
Регистрирую домены в зоне v-tlt.ru
Обращаться в ПРИВАТ
0

#4 Пользователь офлайн   Nifarius

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 148
  • Регистрация: 29 Октябрь 07

Отправлено 01 Ноябрь 2007 - 11:04

Просмотр сообщенияNeoM@ster (1.11.2007, 10:17):

а чё такое C++???
это чё то вроде осла???

Си++ (англ. C++) — компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.
Nifarius - irb(main):001:0> ( 'nif@riusATgm@il._see_om'.gsub('@','a').gsub('_see_' , 'c').gsub('AT', '@') )
0

#5 Пользователь офлайн   TRUTHFUL

  • Пользователь
  • PipPip
  • Группа: Модераторы
  • Сообщений: 412
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 23:30

Просмотр сообщенияNifarius (1.11.2007, 11:04):

Си++ (англ. C++) — компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.

Ну на счет того, что он строго типизированный, это достаточно спорный вопрос :rolleyes:
Истина где-то рядом... Пускай там и остается!
0

#6 Пользователь офлайн   TRUTHFUL

  • Пользователь
  • PipPip
  • Группа: Модераторы
  • Сообщений: 412
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 23:36

Просмотр сообщенияFJ (1.11.2007, 10:04):

ну, повторю свой вопрос со старого форума, может кто-то сможет помочь...

как сделать сортировку по алфавиту фамилий в структуре:

Используй функцию strcmp. Она сравнит две строки и вернет какая из них 'арифметически старше'. Останется только упорядочить.
Истина где-то рядом... Пускай там и остается!
0

#7 Пользователь офлайн   Den

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 246
  • Регистрация: 01 Ноябрь 07

Отправлено 01 Ноябрь 2007 - 23:38

Просмотр сообщенияFJ (1.11.2007, 11:04):

ну, повторю свой вопрос со старого форума, может кто-то сможет помочь...

как сделать сортировку по алфавиту фамилий в структуре:

голова щя не варит, поэтому чё придумал сейчас ...

берёшь первую букву в "name". смотришь её код. если - А, то проверяешь - на первых местах в списке имена начинаются на А или нет, если да - то, первую запись, где не с А копируешь в буффер, потом на её место вставляешь проверяемую запись, после чего из буффера вставляешь запись на "старое" место проверяемой ...
потом гоняешь этот цикл с буквой Б, В, Г ... и т.д.
0

#8 Пользователь офлайн   const86

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 9
  • Регистрация: 01 Ноябрь 07

Отправлено 03 Ноябрь 2007 - 18:05

Просмотр сообщенияFJ (1.11.2007, 10:04):

как сделать сортировку по алфавиту фамилий в структуре:

C: qsort из stdlib.h
C++: std::sort из algorithm
0

#9 Пользователь офлайн   Den

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 246
  • Регистрация: 01 Ноябрь 07

Отправлено 03 Ноябрь 2007 - 22:44

Просмотр сообщенияconst86 (3.11.2007, 19:05):

C: qsort из stdlib.h
C++: std::sort из algorithm

пример его кода говорит о том что это лаба с места учёбы ...
наврятли одобрит препод использование готовых кодов алгоритмов ..)
0

#10 Пользователь офлайн   FJ

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 265
  • Регистрация: 01 Ноябрь 07

Отправлено 05 Ноябрь 2007 - 01:29

Просмотр сообщенияDen (3.11.2007, 22:44):

пример его кода говорит о том что это лаба с места учёбы ...
наврятли одобрит препод использование готовых кодов алгоритмов ..)

да, тоже думаю, что вряд ли сдам такое..) но в принципе, интересно узнать о том, как реализуется эта qsort из stdlib.h т.е. если можно, напишите плиз поподробней...или ссылочку дайте =)

и кстати, не "его кода" а "её кода" ;)

ну..и вот как я сделала, если кому интересно...или если кто-то хочет исправить чо-либо :rolleyes:

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void main(){
	const n = 10, k = 5;
	int i, j, g=0;

	struct student{
		char name[30];
		int group;
		int en[k];
	};
	student st[n], save;

	//ввод данных с клавиатуры, вывод на экран этих данных
	for (i = 0; i <= n-1; i++){
		printf("%d. ",i+1);
		printf("name: ");
		scanf("%s", &st[i].name);
		g +=1;
		printf("group: ");
		scanf("%d", &st[i].group);
		printf("for student %d enter ",i+1);
		printf("5 estimates: \n");
		for (j = 0; j <= k-1; j++){
			printf("estimate %d: ",j+1); 
			scanf("%d", &st[i].en[j]);
		}  
	}
	//вывод, сортированный по алфавиту 

	do{
		for (i = 0; i <= n-1; i++){ 
			if(st[i].name[0] > st[i+1].name[0]){
				save = st[i+1]; 
				st[i+1] = st[i]; 
				st[i] = save;
			}
			if(st[i].name[0] == st[i+1].name[0]){
				if(st[i].name[1] > st[i+1].name[1]){
					save = st[i+1]; 
					st[i+1] = st[i]; 
					st[i] = save;
				}
			}
		}
		g--;
	}while (g > 0);

	printf("\n|---------------------------------------------------------
-|\n");
	for (i = 0; i <= n-1; i++){
		printf("%s ", st[i].name);
		printf("%d ", st[i].group);
		for (j = 0; j <= k-1; j++) printf("%d ", st[i].en[j]);
		printf("\n|---------------------------------------------------------
-|\n");
	}

0

#11 Пользователь офлайн   Barrabas

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 431
  • Регистрация: 01 Ноябрь 07

Отправлено 05 Ноябрь 2007 - 04:20

Просмотр сообщенияTRUTHFUL (2.11.2007, 0:30):

Ну на счет того, что он строго типизированный, это достаточно спорный вопрос :rolleyes:
ну если сравнивать с перлами/пхп (насколько я помню товарищь нифарис практиковался в них (когда я последний его пост видел по написанию форума, в году 2003м вроде) по это вобще супер типизированный язик. Ну на самом деле типизация в С строгая по сравнению с другими.
0

#12 Пользователь офлайн   parovozik

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 700
  • Регистрация: 01 Ноябрь 07

Отправлено 06 Ноябрь 2007 - 07:58

Интересует написание проигрывателя swf файлов на C++. Может есть у кого исходники или подскажете где есть статьи и тд?

Локомотив

0

#13 Пользователь офлайн   Nifarius

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 148
  • Регистрация: 29 Октябрь 07

Отправлено 12 Ноябрь 2007 - 21:07

Просмотр сообщенияparovozik (6.11.2007, 7:58):

Интересует написание проигрывателя swf файлов на C++. Может есть у кого исходники или подскажете где есть статьи и тд?

хочешь свой флэш плеер написать? ,) http://www.swift-tools.com/Flash/ не оно?
Nifarius - irb(main):001:0> ( 'nif@riusATgm@il._see_om'.gsub('@','a').gsub('_see_' , 'c').gsub('AT', '@') )
0

#14 Пользователь офлайн   Krevetro

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 22
  • Регистрация: 01 Ноябрь 07

Отправлено 13 Ноябрь 2007 - 23:11

Помогите пжлст, столкнулся с такой проблемой:
попросили написать простенькую прогу в кач-ве примера... написал калькулятор простейший *, /, +, -... ехе запускается только на компах где установлен билдер.. что мне нужно сделать чтобы он работал и на остальных компах?
ЙИ-И-И-И-Х-ХАА!
0

#15 Пользователь офлайн   Barrabas

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 431
  • Регистрация: 01 Ноябрь 07

Отправлено 14 Ноябрь 2007 - 19:17

Просмотр сообщенияKrevetro (14.11.2007, 0:11):

Помогите пжлст, столкнулся с такой проблемой:
попросили написать простенькую прогу в кач-ве примера... написал калькулятор простейший *, /, +, -... ехе запускается только на компах где установлен билдер.. что мне нужно сделать чтобы он работал и на остальных компах?

1) войствах проекта указать чтобы он все библы компили в этот exe (уже не помню как зовется, но эта галочка там есть)
2) имея комп с билдером и без него, можно методом научнеого тыка записать все недостающие библы (те которые пишутся в сообщени об ошибке) в папку с прогой :) и таскать все вместе.
Берешь exe запускаешь на тачке без билдера, он ругается на отсутствия файла, ищешь его поиском на тачке с билдером, копируешь, он уже ругается на другой файл и т.д. :) :lol:
0

#16 Пользователь офлайн   parovozik

  • Старожил
  • PipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 700
  • Регистрация: 01 Ноябрь 07

Отправлено 14 Ноябрь 2007 - 19:54

Просмотр сообщенияNifarius (12.11.2007, 21:07):

хочешь свой флэш плеер написать? ,) http://www.swift-tools.com/Flash/ не оно?

ага, именно плеер написать. Эт для линукса, мне бы под винду :)

Локомотив

0

#17 Пользователь офлайн   Макси

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 124
  • Регистрация: 01 Ноябрь 07

Отправлено 15 Ноябрь 2007 - 16:09

Скажи ПОЖАЙЛУСТА где скачать C++ ?Ссылку?
Идёт создание сайта "Тольятинской паркур ассоциации" pkatlt.ucoz.ru!Кому не жалко выкладывайте информацию!Там же есть форум,походу буду доделывать сайт!Замечания и пожелания пишите в личку!!!
0

#18 Пользователь офлайн   Krevetro

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 22
  • Регистрация: 01 Ноябрь 07

Отправлено 17 Ноябрь 2007 - 12:49

Просмотр сообщенияBarrabas (14.11.2007, 19:17):

1) войствах проекта указать чтобы он все библы компили в этот exe (уже не помню как зовется, но эта галочка там есть)
2) имея комп с билдером и без него, можно методом научнеого тыка записать все недостающие библы (те которые пишутся в сообщени об ошибке) в папку с прогой :) и таскать все вместе.
Берешь exe запускаешь на тачке без билдера, он ругается на отсутствия файла, ищешь его поиском на тачке с билдером, копируешь, он уже ругается на другой файл и т.д. :) :lol:

Спасиба =)
ЙИ-И-И-И-Х-ХАА!
0

#19 Пользователь офлайн   Demin Max

  • Новичок
  • Pip
  • Группа: Пользователи
  • Сообщений: 13
  • Регистрация: 11 Ноябрь 07

Отправлено 17 Ноябрь 2007 - 19:48

Просмотр сообщенияFJ (5.11.2007, 1:29):

да, тоже думаю, что вряд ли сдам такое..) но в принципе, интересно узнать о том, как реализуется эта qsort из stdlib.h т.е. если можно, напишите плиз поподробней...или ссылочку дайте =)

и кстати, не "его кода" а "её кода" ;)

ну..и вот как я сделала, если кому интересно...или если кто-то хочет исправить чо-либо :rolleyes:

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void main(){
	const n = 10, k = 5;
	int i, j, g=0;

	struct student{
		char name[30];
		int group;
		int en[k];
	};
	student st[n], save;

	//ввод данных с клавиатуры, вывод на экран этих данных
	for (i = 0; i <= n-1; i++){
		printf("%d. ",i+1);
		printf("name: ");
		scanf("%s", &st[i].name);
		g +=1;
		printf("group: ");
		scanf("%d", &st[i].group);
		printf("for student %d enter ",i+1);
		printf("5 estimates: \n");
		for (j = 0; j <= k-1; j++){
			printf("estimate %d: ",j+1); 
			scanf("%d", &st[i].en[j]);
		}  
	}
	//вывод, сортированный по алфавиту 

	do{
		for (i = 0; i <= n-1; i++){ 
			if(st[i].name[0] > st[i+1].name[0]){
				save = st[i+1]; 
				st[i+1] = st[i]; 
				st[i] = save;
			}
			if(st[i].name[0] == st[i+1].name[0]){
				if(st[i].name[1] > st[i+1].name[1]){
					save = st[i+1]; 
					st[i+1] = st[i]; 
					st[i] = save;
				}
			}
		}
		g--;
	}while (g > 0);

	printf("\n|---------------------------------------------------------
-|\n");
	for (i = 0; i <= n-1; i++){
		printf("%s ", st[i].name);
		printf("%d ", st[i].group);
		for (j = 0; j <= k-1; j++) printf("%d ", st[i].en[j]);
		printf("\n|---------------------------------------------------------
-|\n");
	}


Вот как это можно сделать с использыванием STL:

//---------------------------------------------------------------------------
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;

const int n = 10;
const int k = 3;

struct student{
	string name;
	int group;
	int en[k];
};
bool operator<(const student &x, const student &y) {
	return x.name < y.name;
}

int main(int argc, char* argv[])
{
	vector<student> st(n);

	// ввод данных о студентах
	for (int i = 0; i < n; i++) {
		cout << i+1 << "." << endl << "name: ";
		cin >> st[i].name;
		st[i].name.resize(30); // ò.ê. ìàêñ. äëèíà = 30

		cout << "group: ";
		cin >> st[i].group;

		cout << "for student " << i+1 << " enter " << k << " estimates:" << endl;
		for (int j = 0; j < k; j++) {
			cout << "  estimate " << j+1 << ": ";
			cin >> st[i].en[j];
		}
	}

/////////////////////////////////////////////////
/// СОРТИРОВКА ////////////////////////////
// используется оператор bool operator<(const student &x, const student &y)
			sort(st.begin(), st.end());
////////////////////////////////////////////////

	// вывод данных о студентах
	cout << "-------------------------------" << endl;
	for (int i = 0; i < n; i++) {
		cout << "name : " << st[i].name << endl;
		cout << "group : " << st[i].group << endl;
		for (int j = 0; j < k; j++) {
			cout << "  estimate " << j+1 << ": " << st[i].en[j] << endl;
		}
		cout << "-------------------------------" << endl;
	}

	// задержка - надо ввести любую строку, чтобы закрыть программу
	string temp;
	cin >> temp;

	return 0;
}
//---------------------------------------------------------------------------


Хорошая книга, где все это описано, называется "Справочник С++" (если не ошибаюсь), а автор - Страуструп (это точно).
Страуструпа не путать с трупом страуса! :)
0

#20 Пользователь офлайн   FJ

  • Пользователь
  • PipPip
  • Группа: Пользователи
  • Сообщений: 265
  • Регистрация: 01 Ноябрь 07

Отправлено 18 Ноябрь 2007 - 01:04

Просмотр сообщенияDemin Max (17.11.2007, 19:48):

Вот как это можно сделать с использыванием STL:

=) точноточно..просто у нас в универе требуют так, как я написала)
но все равно сохраню код для себя, как пример.пасиб))
0

  • (13 Страниц)
  • +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

2 человек читают эту тему
0 пользователей, 2 гостей, 0 скрытых пользователей