Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хочу научиться програмить, С чего начать учится? 
:(
    Опции темы
Tripl-X
  Дата 29.12.2004, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



Народ, посоветуйте как лучше учиться программировать. А то читая книгу и сслушая лекции я научился только двум вещам: составлять алгоритмы и понимать смысл пограммы, написанной на С. Писать не получается даже елементарные программы типа калькулятора. Подсскажите, что делать?
PM MAIL ICQ   Вверх
NiJazz
Дата 29.12.2004, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



Tripl-X
Вот тебе задания.
Напиши программу, которая:
1. Если ввели число больше 5, то выводить "bigger", если меньше 5, то выводить "smaller".
2. Если пользователь ввёл слово "Hello!", выводит "How do you do!". Иначе ничего не выводить.
Скоро приду - проверю. smile
PM MAIL   Вверх
Doc_d0s
Дата 29.12.2004, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 15.12.2004
Где: в кресле

Репутация: 2
Всего: 3



Начинай учится с программирования!!! smile

Это сообщение отредактировал(а) Doc_d0s - 29.12.2004, 18:39
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
Guest
Дата 30.12.2004, 02:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Tripl @ 29.12.2004, 17:40)
составлять алгоритмы

Так это как раз и есть программирование.

А то чему ты хочешь научиться - это кодинг.

купи самую глупую книжку по С и порешай задачки которые там есть в каждой главе .
  Вверх
bel_nikita
Дата 30.12.2004, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47





--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
Tripl-X
Дата 31.12.2004, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



NiJazz

Спервой прогой справился, а вот со второй... не понимаю в чем здесь проблема. В книжке вроде что-то похожее написано о работе состроками, а работать не хочет. Скажи что не так?

#include <stdio.h>
#include <conio.h>

int main(void)
{
char A[10];
scanf("%s", &A[10]);
if((A[0]='H')&&(A[1]='e')&&(A[2]=A[3]='l')&&(A[4]='o')&&(A[5]='!'))
printf("How do you do!");
getch();
}
PM MAIL ICQ   Вверх
LuckLess
Дата 31.12.2004, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: 1
Всего: 1



Tripl-X
Код

void main(void){
char A[10];
scanf("%s", A);
if((A[0]=='H')&&(A[1]=='e')&&(A[2]=='l')&&(A[3]=='l')&&(A[4]=='o')&&(A[5]=='!'))
printf("How do you do!");
getch();
}

= оператор присваивания!! Чтобы сравнивать на равенство нада юзать ==!!

и еще есть функция strcmp() !!!
Код

void main(void){
char A[10]={0};
scanf("%s", A);
if(!strcmp(A,"Hello!"))
printf("How do you do!");
getch();
}


и еще имхо, лучше обЪявлять массив не
char A[10];
а
char A[10]={0};
т.к. в не введенных местах памяти будет лежать непонятно что..
Цитата(Tripl @ 31.12.2004, 00:05)

Код

scanf("%s", &A[10]);


Ты даешь уму указатель на последний элемент массива!!!!
нада
Код

scanf("%s", A);

PM MAIL   Вверх
En_t_end
Дата 31.12.2004, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



Tripl-X
Знаешь другие языки программирования ?
PM MAIL ICQ Skype GTalk Jabber   Вверх
Tripl-X
Дата 31.12.2004, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



LuckLess
Спасибо за помощ! smile

У меня задача по лабе? юзер вводит строку не более 60 символов а прога должна сравнить эти символы и исключить повторяющиеся. Я что-то написал, а работает это не правильно. подскажите что не так?

int main(void)
{
char A[60]={0}, i, k;

printf("Vvedite stroku:\n");
scanf("%s", A);

for(i=0; i<=60; i++)
{
for(k=0; i<=60; k++)
if(A[i]=A[k]) printf("%c", &A[i]);
}
getch();
}


PM MAIL ICQ   Вверх
LuckLess
Дата 31.12.2004, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: 1
Всего: 1



нууу... тут у тебя 3 ошибки
1)
Код
for(k=0; i<=60; k++)

2)
Код
 if(A[i]=A[k])

3)Неправильно составленный алгоритм.


вот тебе работающий код..
Код

#include <stdio.h>
#include <conio.h>
#include <memory.h>


void main(void){
char A[61]={0};
int i,k,flag=1;
fgets(A,60,stdin);

for (i=0;i<60 && A[i+1]!=0;i++){
flag=1;
for (k=0;k<60 && A[k+1]!=0;k++){
 if (A[i]==A[k] && i!=k) {flag=0;break;}
}
if (flag) printf("%c ",A[i]);
}

_getch();
}

PM MAIL   Вверх
Tripl-X
Дата 1.1.2005, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



LuckLess

Спасибо.

!!!С Новым Годом!!!

PM MAIL ICQ   Вверх
Tripl-X
Дата 3.1.2005, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



LuckLess

А что надо изменить, чтобы здесь выводились повторяющиеся символы только один раз?
Я пытался вставить в цикл
Цитата
for (k=0;k<60 && A[k+1]!=0;k++){
if (A[i]==A[k] && i!=k) {flag=0;break;}
}

Но он выводит эти символы столько же раз, сколько они написаны.

пытался и условие в операторе if поменять - эффект тотже. Не знаю что и придумать! подскажи что нужно поменять
PM MAIL ICQ   Вверх
Alexandr87
Дата 4.1.2005, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 2
Всего: 39



можешь создать яще вектор.
в вектор фигарить симовлы которые ты уже вывел как повторяющиеся, а при выводе делать обход сего массива на поиск определенного симовола
PM Jabber   Вверх
Tripl-X
Дата 4.1.2005, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



Alexandr87

А по-понятнее можно? А то я прочел и не фига не понялsmile

PM MAIL ICQ   Вверх
sonic
Дата 4.1.2005, 23:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











если и пихать что-то в контейнер, так это буквы, которые НЕ повторяются...
удастся сэкономить на итерациях...(ИМХО)
  Вверх
Splintercell
Дата 5.1.2005, 02:31 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вот вам ссылка http://childrenforum.fastbb.ru
Этот форум прилагается к моему сайту www.movies2005.narod.ru
Но не обращайте внимания,форум можно сказать на 80 процентов нейтрал!
  Вверх
LuckLess
Дата 5.1.2005, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: 1
Всего: 1



Tripl-X
думал повторяющиеся тебе вообще выводить не нада..
если все тока по разу нада , то еще проще..
Код

#include <stdio.h>
#include <conio.h>
void main(void){
char A[61]={0};
int i,k,flag=1;
fgets(A,60,stdin);
for (i=0;i<60 && A[i+1]!=0;i++){
flag=1;
for (k=0;k<i;k++){
 if (A[i]==A[k]) {flag=0;break;}
}
if (flag) printf("%c ",A[i]);
}
_getch();
}

PM MAIL   Вверх
Tripl-X
Дата 6.1.2005, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



А если мне нужно посчитать, сколькл раз вводятся одинаковые символы

PM MAIL ICQ   Вверх
LuckLess
Дата 8.1.2005, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: 1
Всего: 1



тогда чонидь типа
Код

#include <stdio.h>
#include <conio.h>
#include <memory.h>


void main(void){
char A[61]={0};
int i,k,flag=1,kol;
fgets(A,60,stdin);

for (i=0;i<60 && A[i+1]!=0;i++){
flag=1;
for (k=0;k<i;k++){
 if (A[i]==A[k]) {flag=0;break;}
}
if (flag) {
 kol=0;
 for (k=0;k<60 && A[k+1]!=0;k++){
 if (A[k]==A[i]) kol++;
 }
 printf("%c %d\n",A[i],kol);
}
}

_getch();
}

PM MAIL   Вверх
Tripl-X
Дата 9.1.2005, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



LuckLess
Одного не пойму, для чег в строке
Код

for (i=0;i<60 && A[i+1]!=0;i++)

Стоит условие A[i+1]!=0?

PM MAIL ICQ   Вверх
volvo877
Дата 9.1.2005, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 1
Всего: 116



Tripl-X
У тебя по условию:
Цитата
юзер вводит строку не более 60 символов

А если будет введено не 60, а 40? Нужно же как-то отловить момент окончания строки...
PM MAIL   Вверх
NiJazz
Дата 9.1.2005, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 1
Всего: 23



Наверное, так будет понятнее:
Код

for (i=0; A[i+1]; i++)

PM MAIL   Вверх
MasterPHP
Дата 9.1.2005, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 9.1.2005

Репутация: нет
Всего: нет



Не забывайте что переменная может ихменяться в зависимотси от даты

PHP

Это сообщение отредактировал(а) MasterPHP - 9.1.2005, 15:48
PM MAIL   Вверх
chipset
Дата 9.1.2005, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



Цитата(MasterPHP @ 9.1.2005, 04:36)
Не забывайте что переменная может ихменяться в зависимотси от даты

smile


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
LuckLess
Дата 9.1.2005, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: 1
Всего: 1



Извините за небольшой оффтоп , но просто интересно , почему в моем посте некрасивая подсветка кода , а в посте
Tripl-X
красивая..
PM MAIL   Вверх
chipset
Дата 9.1.2005, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 27
Всего: 165



LuckLess
smile он воспользовался подсветкой C# smile


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Найли
Дата 9.1.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 9.1.2005
Где: Россия, Новосибир ск

Репутация: нет
Всего: нет



и почему я не вышла на этот фору раньше..завтра сдавать прогу...а при использовании спецификации шаблонов всё глючит =( эх...но у меня ещё вся ночь впереди, исправлю smile
PM MAIL ICQ   Вверх
Гость_LuckLess
Дата 10.1.2005, 05:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Чтото пожумал седня про эту задачу , и понял что то что я дал неправильно работает при вводе 60 символов. вот исправленный вариант.

Код

#include <stdio.h>
#include <conio.h>
#include <memory.h>


void main(void){
   char A[61]={0};
   int i,k,flag=1,kol;
fgets(A,61,stdin);


for (i=0;(i<60 && A[i+1])||(!A[i+1]&&A[i]!='\n');i++){
   flag=1;
   for (k=0;k<i;k++){
 if (A[i]==A[k]) {flag=0;break;}
   }
   if (flag) {
 kol=0;
 for (k=0;(k<60 && A[k+1])||(!A[k+1]&&A[k]!='\n');k++){
 if (A[k]==A[i]) kol++;
 }
 printf("%c %d\n",A[i],kol);
   }
}

_getch();
}

  Вверх
Tripl-X
Дата 27.1.2005, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



У меня задание:
Цитата
Найти  в  массиве  элемент,  наиболее  близкий  к среднему арифметическому суммы его элементов.

Среднее арифметическое я нашел, а наиболее близкий элемент найти не получается. Как Это можно сделать?
PM MAIL ICQ   Вверх
Gelert
Дата 27.1.2005, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.1.2005

Репутация: нет
Всего: нет



Попробуй так.

int flag=MAXINT;
for (i=0;i<10;i++)
if (abs(arif-a[i])<flag)
flag=a[i];

эээ. писал в блокноте - поводу синтаксиса не уверен (проверь как пишется MAXINT)arif- это твое среднеарифметическое. flag будет твоим ответом.
abs() - хранится в math.h
PM MAIL   Вверх
En_t_end
Дата 27.1.2005, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



"Не забывайте что переменная может ихменяться в зависимотси от даты"
Бред - полнейший, а ещё, чтобы откомпилировать программу, надо дождаться полнолуния, иначе ничего не выйдет smile
PM MAIL ICQ Skype GTalk Jabber   Вверх
Gelert
Дата 27.1.2005, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 27.1.2005

Репутация: нет
Всего: нет



En_t_end
перед этим совершив обряд обкуривания, и освещения программы, компутера и помещения где будет производится компиляция.
PM MAIL   Вверх
Tripl-X
Дата 28.1.2005, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



Gelert
А что вообще такое MAXINT? И где это проверить?

Таким умным вещам не учат на первом курсе...smile


En_t_end Gelert
smile Моя тема несколько о другом... smile
PM MAIL ICQ   Вверх
Tripl-X
Дата 29.1.2005, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



Объясните пару вещей:

1. Структуры надо объявлять как глобальные или как лакальные переменные?

2. Пока я не закрываю программу, структура сохраняет значения. А при следующем запуске она их теряет. Как сделать так, чтобы значения сохранялись после выхода из программы?
PM MAIL ICQ   Вверх
Тиньков
Дата 4.2.2005, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 6.7.2004
Где: Магнитогорск

Репутация: нет
Всего: нет



1. Описание структуры как типа нужно сделать глобальным, а объявление переменных этого типа - там, где будешь использовать, т.е. хоть глобальными, хоть локальными.

2. Cамым простым (если не единственным) способом будет сохранять значения структуры в файл, а при повторном запуске восстанавливать.
PM MAIL ICQ   Вверх
Tripl-X
Дата 6.2.2005, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



Тиньков

Понятно...

Как работать с графикой? Я тут переписал один код из книги, а компилятор говорит, что BGI графика не поддерживается под Windows. Ведь ккак-то же создается графика, работающая в этой ОС?

И еще:
Массив строк обозначается наподобие str[10][10] как использовать цикл for, чтобы с приращением i увеличивался индекс строки, и выводились все символы этой строки??? Видел в книге обозначение типа *str[] что это? И как это работает???
PM MAIL ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1283 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.