HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 22.12.2009, 12:42
St0nX
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
Провел на форуме:
2823587

Репутация: 106
По умолчанию

Цитата:
Сообщение от Semus  
Здравствуйте, помогите мне пожалуйста.
Необходимо на С реализовать следующую программу: из введенной пользователем строки выбрать самое длинное и самое короткое слово.
Но после нескольких неудачных попыток я понял, я что со стороками у меня все глухо.Заведомо благодарю всех откликнувшихся
PHP код:
#include<string.h> 
#include <stdio.h>

void main(void)
{
char *string "a asd sss dasq";
char *s;
char *min;
char *max;
int i,j,h;
strtok(string," ");
strlen(s);
i;
while  (
s  !=NULL)   
{
strtok(NULL," ");
if(
s!=NULL)
{
    
j=strlen(s);
    if (
i<j)
    {
    
i=j;
    
max s;
    }
    if (
h>j)
    {
    
h=j;
    
min s;
    }
}
}
printf("Min %s len - %d",min,h);
printf("Max %s len - %d",max,i);

Как то так. Не проверял но смысл как это делать вроде понятен.

Последний раз редактировалось St0nX; 22.12.2009 в 12:44..
 
Ответить с цитированием

  #2  
Старый 22.12.2009, 11:19
043nKRuT0y
Участник форума
Регистрация: 31.10.2007
Сообщений: 213
Провел на форуме:
394522

Репутация: 14
По умолчанию

Помогите дописать на JAVA два метода :
1 - сравнение дат (равно , до , после)
2 - вычисление количества дней между датами
 
Ответить с цитированием

  #3  
Старый 22.12.2009, 13:32
Trotter
Новичок
Регистрация: 11.06.2007
Сообщений: 2
Провел на форуме:
3946

Репутация: 0
По умолчанию

Всем привет, понимаю точ то не сюда пишу но всёже, мне надо написать сетевой органайзер на Visual Studio C++ помощи не прошу с формами с кнопочками и т.д но вот беда я нечего не знаю по поводу как так кодить, раньше баловался на делфи тама всё просто было, попробовал тоже самое провести на этой среде нечего конечно же не получилось, помогите советом
 
Ответить с цитированием

Помогите разобраться с кодом
  #4  
Старый 22.12.2009, 21:17
Semus
Новичок
Регистрация: 27.03.2009
Сообщений: 12
Провел на форуме:
17616

Репутация: 0
По умолчанию Помогите разобраться с кодом

Здравствуйте, помогите разобраться, почему не компилируется следующая программа (вернее компилируется, но во время исполнения вылетает ошибка)

Код:
//определяем число вхождений подстроки в введенную пользователем строку

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

int main ()
{
    //вводим строку в которой осуществляем поиск
    char * stroka;
    printf ("Vvedite stroku:");
    gets (stroka);
    printf ("%s\n", stroka);

    // вводим строку которую будем искать
    char * iskom;
    printf ("Vvedite iskomuy stoku: ");
    scanf ("%s", &iskom);

    //указатель на на номер на найденный номер
    char * point = 0;

    //следующая переменная - счетчик
    int i = 0;

    for (;;)
    {
        point = strstr(stroka, iskom);
        stroka=point+1;
        if (point==NULL) {break;}
        i++;
    };

    printf ("kolichestvo vhogdenii = %d", i);

    return 0;
}
Заранее благодарю
 
Ответить с цитированием

  #5  
Старый 23.12.2009, 01:28
Trotter
Новичок
Регистрация: 11.06.2007
Сообщений: 2
Провел на форуме:
3946

Репутация: 0
По умолчанию

я конечно не совсем силён и могу ошибаться, но тебе надо выделять память...
типо вместо char * stroka писать char * stroka new char[256];
и чтобы вот такова бреда не было printf ("kolichestvo vhogdenii)
подрубай locale.h и в main(){setlocale(LC_ALL, "RUSSIAN"); код... printf("Привет")}
а по поводу выделения памяти я не знаю как на си сделать malloc юзай хотя у меня так заработало как первый раз писал тока вот цикл странный зацикленный какой то)) с циклом извиняй помочь не могу, и чтобы строку к строке прировнять надо по моемому перегрузку оператора сделать... хотя я дилетант тоже не ругайте меня ))
 
Ответить с цитированием

  #6  
Старый 23.12.2009, 21:51
Semus
Новичок
Регистрация: 27.03.2009
Сообщений: 12
Провел на форуме:
17616

Репутация: 0
По умолчанию

Цитата:
Сообщение от Trotter  
я конечно не совсем силён и могу ошибаться, но тебе надо выделять память...
типо вместо char * stroka писать char * stroka new char[256];
и чтобы вот такова бреда не было printf ("kolichestvo vhogdenii)
подрубай locale.h и в main(){setlocale(LC_ALL, "RUSSIAN"); код... printf("Привет")}
а по поводу выделения памяти я не знаю как на си сделать malloc юзай хотя у меня так заработало как первый раз писал тока вот цикл странный зацикленный какой то)) с циклом извиняй помочь не могу, и чтобы строку к строке прировнять надо по моемому перегрузку оператора сделать... хотя я дилетант тоже не ругайте меня ))
Верно подмечено, ты "не совсем силен" . Ты какой-то бред несешь: "память выделять", "перегрузку операторов делать ". И не нужно подрубать "locale.h", и прочее что ты там написал. Все решилось проще и самостоятельно через пол часа после появления поста:

Код:
//Задание №1
//определяем число вхождений введеного //пользователем слова в введеную пользователем строку

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

int main ()
{
    char stroka[300]; //данный массив предназначен для хранения введеной пользоватлем строки, объем до 300символов
    char * pStr = stroka; //этот указатель используется для поиска данных, ему дается адрес первого элемента

    //вводим строку из которой осуществляем поиск
    printf ("Vvedite stroku: "); //просим пользователя ввести строку
    gets (stroka); //пользователь вводит строку

    // вводим строку которую будем искать
    char iskStroka[300]; //массив предназначенный для хранения искомой строки
    char * iskom = iskStroka; //этот указатель используется для поиска и подсчета числа вхождения подстрок в строку

    //вводим искомую подстроку
    printf ("Vvedite iskomuy slovo: "); //просим пользователя ввести искомое слово
    scanf("%s", iskStroka);// ввод искомого слова

    char * point = 0;//указатель на на номер на найденый номер

    int i = 0;    // переменная - счетчик, используем для подсчета кол-ва вхождений подстроки в строку

    // следующий цикл обеспечивает подсчет вхождений подстроки в строку
    do //далее начинается вечный цикл с постусловие
    {
        point = strstr(pStr, iskom);//ищем позицию вхождения подстроки в строку
        pStr=point+1;                     //при помощи указателя как-бы обрезаем длинну строки,
                                                    //что при следующем цикле осуществился поиск данных
                                                    //с позиции найденой строки+1.
                                                    //Если не поставить "+1" цикл будет бесконечен, так как постоянно
                                                    //будет находиться первое вхождение с которого теперь начинается адрес поискового указателя pStr

        if (point==NULL) {break;}; //если на очередном шаге не было найдено вхождения - прерываем цикл
        i++;
    }
    while (true);//цикл вечен, если его не прервать

    //закончили подсчет вхождений строки в подстроку

    printf ("kolichestvo vhogdenii = %d\n", i);// выводим результат на экран

    system ("PAUSE"); //ждем от пользователя нажатия какой-либо клавиши
    return 0;
}
 
Ответить с цитированием

Описание классов в C++
  #7  
Старый 23.12.2009, 13:52
modsonic
Новичок
Регистрация: 22.12.2009
Сообщений: 1
Провел на форуме:
5660

Репутация: 0
По умолчанию Описание классов в C++

Пожалуйста, подскажите как описать класс «Экзаменационная ведомость», частью которого является класс «Студент», хранящий информацию о студенте и его оценке на экзамене. Предусмотреть возможность задания произвольного количества студентов, сортировки студентов по фамилии, вычисления среднего балла за экзамен, а также вывода на экран количества различных оценок. Вот код, который я смог написать, но это еще далеко от идеала:

Код:
#include <string.h>
#include <iostream>
#include <stdlib.h>
#include <vcl.h>
#pragma hdrstop
#include <cstdlib>
#include <conio.h>
#pragma argsused
using namespace std;

class ekzam{
	public:
	class stud{
	string name;
	string famil;
	string otches;
	int otsenka;
} temp;
	int col;
	int srb;
	int *values;
	int count;
	ekzam(int col){
		count=col;
		values=new int[count];
	}
	~ekzam(){
		delete[]values;
	}
	void Get(int i){
    	for(i=0;i<col;i++){
			cin>>stud[i].name;
		}
	}
};

main()
{
	int n,i;
	cin>>n;
	ekzam students(n);
	system("PAUSE");
	return EXIT_SUCCESS;
}

Последний раз редактировалось slesh; 23.12.2009 в 14:13..
 
Ответить с цитированием

  #8  
Старый 23.12.2009, 19:56
cupper
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме:
1180737

Репутация: 180


По умолчанию

шот какоето безумие внутри класса создавать еще клас, тут логически правильней было бы, создать класс студен со следующими полями:
ФИО
ГРУППА
Хеш таблица /* Ключ: название экзамена, значение: оценка*/
/* не зубудь что вместо оценки может быть неявка, ее можно обозначить например как -1, а 0 - это оценки еще нет */
...

А потом создать класс ведомость:
Вектор <Студент>
...
ну и добавить в этот клас всякие приблуды:
добавление студента в ведомость,
проверка чтобы каждый студент присутствовал только один раз в одной ведомости
сортировка вектора по ФИО
Выставление оценки студенту в ведомости

так будет гораздо правильней

Последний раз редактировалось cupper; 23.12.2009 в 20:00..
 
Ответить с цитированием

  #9  
Старый 23.12.2009, 20:52
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме:
1354067

Репутация: 599


По умолчанию

не правильно. оценка хранится не в студенте. и группа в студенте - полнейший бред. в жизни разве так?

Описываешь классы ведомость, экзамен, студент, строка ведомости. Ведомость хранить вектор строк ведомости и экзамен, чьи результаты она хранит. Строка ведомости хранит студента, оценку.



вот такая диаграммка как вариант.

[EDIT]
Exam поправил на Subject (дисциплина)

Последний раз редактировалось Ra$cal; 23.12.2009 в 21:02..
 
Ответить с цитированием

  #10  
Старый 23.12.2009, 21:18
cupper
Постоянный
Регистрация: 06.06.2007
Сообщений: 575
Провел на форуме:
1180737

Репутация: 180


По умолчанию

а что хранит класс экзамен ?
Разделение ведомости на ведомость и стока ведомости по абстракции конечно правильней но кому нужна такая детализация ?
Притом исходя из условия то челу нужно всего два класса. Как ты сказал конечно правильней, я просто адаптировал под условия

Последний раз редактировалось cupper; 23.12.2009 в 21:20..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.