Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [3]  Все   Вниз
  Печать  
Автор Тема: Это займет у вас 2 минуты!  (Прочитано 48343 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #60 : 30-06-2008 10:12 » 

По другому не реализовать функцию.

Аааа, понятно. Эт я просто так спросил. Как-то сразу не увидел, что по другому не реализовать.

Цитата
Есть варианты (нормально работающие)?

А если так попробовать? Тоже по идее должно работать.

Код:

#include <stdio.h>

int func(const char *s);

void main()
{
char s[]="12345";
printf("summa=%d\n",func(s));
}

int func(const char *s)
{
int result = 0;
for(;*s; ++s) result += (*s-'0');
return result;
}

Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Apheyhys
Гость
« Ответ #61 : 30-06-2008 10:24 » 

Да Джон ты прав
Записан
Apheyhys
Гость
« Ответ #62 : 30-06-2008 10:53 » 

Если в массиве встретиться какой либо другой символ, отличный от цифры, то его следует пропустить.
Сразу вспоминается вариант со switch...
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #63 : 30-06-2008 10:56 » 

свич или , так как случай простой, сравнение:

если символ между числами '0' и '9' (включительно) , то учитываем, а если нет - то идут лесом. Ну и 0 не забывать в конце строки )
Записан

PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #64 : 30-06-2008 12:49 » 

Алексей1153++, если символ между числами '1' и '9' (включительно) Ага
Записан

Удачного всем кодинга! -=x[PooH]x=-
DrGluck
Постоялец

ru
Offline Offline
Пол: Мужской

« Ответ #65 : 30-06-2008 12:59 » 

Господа, я вас щас огорчу.
Массив может и из WCHAR состоять.  Ага
Кстати, отсюда и проблема получения цифры в зависимости от кодировки. А вы уверены, что во всех кодировках '0' = 48?
Записан

Good user - dead user
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #66 : 30-06-2008 13:04 » 

DrGluck, А там без разници чему равно '0' Компилятор сам поправит, если будет не так. Хотя я пока что не видел кодировки, кроме Unicode пожалуй, где бы забивали бы ASCII область по другому.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #67 : 30-06-2008 13:23 » 

Господа, я вас щас огорчу.
Массив может и из WCHAR состоять.  Ага

Внимательно предыдущие посты прочитай.

Цитата
Кстати, отсюда и проблема получения цифры в зависимости от кодировки. А вы уверены, что во всех кодировках '0' = 48?

Ну вобще-то - да. ASCII она везде ASCII, даже в юникоде. Но даже если это и не так, то кто здесь ваще говорит о 48? Даже если это будет 64, '0'-'0' всё-равно даст 0. Ага
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #68 : 01-07-2008 03:40 » 

PooH, нет, пущай '0' тожже проверяет, может он захочет посчитать количество числов ? ))
Записан

Apheyhys
Гость
« Ответ #69 : 02-07-2008 22:24 » 

Даны 3 формулы:
L=2*пи*R;
S=пи*(R*R);
V=4/3*пи*(R*R*R).
Переменная R меняется от 2.0 до 5.0 с шагом 0.5.
Написать функцию, которая будет выводить эти значения.
Вывод данных из функции организовать с помощью указателей или структуры.
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #70 : 03-07-2008 03:44 » 

Как всё грустно.
начни с функции которая получает R, расчитывает значения L,S,V и выводит их на экран.

Вывод данных из функции организовать с помощью указателей или структуры.
чтобы значила эта фраза?
Записан

Странно всё это....
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #71 : 03-07-2008 08:17 » 

LogRus, тут ещё до этой загадочной фразы попадалово.

ТЗ не полное, не указана погрешность измерения...

А тут ваще труба! Чему "пи" равно?

Издевается.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #72 : 03-07-2008 08:47 » 

думается, под "указателем или структурой" нонимается ссылка на структуру, переданная в функцию, хде (в функции) её (структуру) и заполнят
Записан

Ochkarik
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #73 : 03-07-2008 11:42 » 

Джон,  однозначно) но это еще понятно. Пи можно и посчитать...
а вот скажите... а кто сказал, что задание надо на Си выполнять?)))))

PS кто какие языки вообще знает?)
я Basic, потом паскаль, потом ассемблер немного потом C и мало-мало С++.

Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #74 : 03-07-2008 12:43 » 

Джон,  однозначно) но это еще понятно. Пи можно и посчитать...

Да посчитать не проблема. ВОПРОС - с какой точностью?


Цитата
а вот скажите... а кто сказал, что задание надо на Си выполнять?)))))

А никто про С для этого задания пока и не говорил.

зы это новая тема была, её просто с этой объединили. Посмотри на название топика с вопросом.
« Последнее редактирование: 03-07-2008 12:44 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Ochkarik
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #75 : 03-07-2008 13:32 » 

ага. понял.

решение на МАТЛАБе:
Код:
i = 1;
A = zeros(3,6);
for R=2:0.5:5
  A(1,i) = 2*pi*R;
  A(2,i) = pi*(R*R);
  A(3,i) = 4/3*pi*(R*R*R);
  i = i+1;
end
disp(A);

PS 4 минуты ровно. с набивкой и исправлением синтаксических и дурацких ошибок)
(просто матлаб как раз запущен был)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Apheyhys
Гость
« Ответ #76 : 03-07-2008 13:55 » 

с точностью до 2х знаков после запятой(это не так важно)
на Си
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #77 : 03-07-2008 14:11 » 

а я объединил темы, потому что название было такое же Улыбаюсь И по странному совпадению, автор тоже такой же
Записан

Apheyhys
Гость
« Ответ #78 : 04-07-2008 12:30 » 

Вывод с помощью структуры:
Код:
#include <math.h>
#include <stdio.h>
struct data     //объявление структуры
{
float L, S, V;
};
data func(float R)   // функция func структуры data
{
    data r;
    r.L = 2 * M_PI * R;
    r.S = M_PI * R * R;
    r.V = 4.0 / 3.0 * M_PI * R * R * R;
    return r;
}

int main()
{
  float R;
   for (R = 2.; R <= 5. ; R += 0.5)
  {
data h= func(R);
printf("L=%.3f\t S=%.3f\t V=%.3f\n", h.L,h.S, h.V);
  }
 return 0  ;
}
Записан
Apheyhys
Гость
« Ответ #79 : 04-07-2008 12:31 » 

С помощью указателей:
Код:
#include <math.h>
#include <stdio.h>
void func(float R, float *V, float *S, float *L)
{
*L = 2 * M_PI * R;
*S = M_PI * R * R;
*V = 4.0 / 3.0 * M_PI * R * R * R;
printf("%.3f %.3f %.3f\n", *L,*S,*V);
}
float main()
{
float R,L,S,V;
for (R = 2.; R <= 5. ; R += 0.5)
{
func(R, &L, &S, &V);
}
return 0;
}
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #80 : 04-07-2008 12:35 » 

Apheyhys, при помощи указателей - лучше. Быстрее работать будет Улыбаюсь
Записан

Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #81 : 04-07-2008 12:54 » 

Алексей1153++, а  почему?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Ochkarik
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #82 : 04-07-2008 13:55 » 

Sla, поймет компилятор или нет, что структуру data не обязательно создавать локально в функции а потом копировать наружу.
может не понять.

Алексей1153++, с другой стороны - передача лишних трех указателей через стек)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #83 : 04-07-2008 17:07 » 

Sla, не понял твоего вопроса Улыбаюсь Считаю шуткой )))

Ochkarik, ну раз пошла такая пьянка - создать структуру , в которой все парамертры и хранятся, обычно это и удобно - массив и его размеры. Передавать только указатель на всю структуру - одЫн то есть Улыбаюсь
Записан

Sla
Модератор

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #84 : 04-07-2008 18:31 » 

Алексей1153++, да какой нах массив, структура блин
Алексей1153++, не путай праведное  с грешным
я не увидел выигрыша в быстродествии, ну разве что на копировании в стек/ из стека
При сегдняшних "скоростях" нах это комку нужно.
Но в данном случае, по крайней мере для меня, ни хрена не рубящего в сях, так нормательно. Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #85 : 05-07-2008 05:21 » 

Sla, ничего я не перепутал Улыбаюсь Ну вот и будешь возвращать 222222-байтную структуру через стек Улыбаюсь)  А мне всего 4 байта надо для этого
Записан

Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #86 : 07-07-2008 03:45 » 

Sla, поймет компилятор или нет, что структуру data не обязательно создавать локально в функции а потом копировать наружу.
может не понять.

если достаточно свежий компилятор, то должен корректно использовать NRVO
http://alenacpp.blogspot.com/2008/02/rvo-nrvo.html

я бы передал ссылку на структуру
а если бы нужно было бы вычислять одно значение типа long, то вернул бы по значению
Записан

Странно всё это....
Ochkarik
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #87 : 07-07-2008 08:29 » 

LogRus, ага, сенькс, интересно.... перечитаю повнмимательнее...
хотя (ИМХО!) компилятору помогать - все равно дело благое)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #88 : 07-07-2008 08:37 » 

Ochkarik, лучше помогать процессору Улыбаюсь
Записан

Странно всё это....
Ochkarik
Команда клуба

ru
Online Online
Пол: Мужской

« Ответ #89 : 07-07-2008 10:01 » new

LogRus, процессор - это святое)))
PS и шине с памятью - тоже)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
Страниц: 1 2 [3]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines