DimanDGR
1

Строка: Вывести все слова строки, содержащие ровно две буквы d.

25.02.2013, 19:36. Показов 2016. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
(язык программирования Си)
.................................................
Здравствуйте!),
как всегда требуется от вас помощь товарищи!)
нужно немного подредактировать задание помочь найти мне ошибки и т.д.
Очень надеюсь что оказанная мне помощь будет, также полезна таким-же первопроходцам как и я_))

собственно начну:
Задание №1 Строки.
#Данa строка из 25 слов. Вывести все слова строки, содержащие ровно две буквы d.
код как это вижу я. (Эм.. программу пишу во FreeBSD она весит на виртуалке к сожалению функции копировать-вставить не предусмотрено так-что всё буду набирать от руки)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <string.h>
main ()
{
int z,i,j,l,k,p,y;
char str[50],str1[50] = ("market android play qddrr dtrrd gcccabc pdruinqf");
l=0; //  0_o 
y=strlen(str);
for (i=0;i<y;i++)
  if (str[i]=='d')
  {
  k=i;
  break;
  }
for (i=k;i<y;i++)
if (str[i]==' ')
{
p=i;
break;
}
for (i=z;i<p;i++)
if ((str[i]==' ') || (i==0))
{
z=i;
break;
}
for (i=z;i<p;i++)
if (str[i]=='d')
for (j=z;j<p;l++)
{
str1[l]=str[j];
l++;
}
printf("naideni slova soderchashie (dd): %s",str1);
}
Собственно что-то не так и прога не работает, потерял много времени и видимо что-то упустил
=============================

Задание №2 Файлы.

Вариант 4
1. Файл содержит сведения о квалификации сотрудников, каждая запись которого содержит поля: фамилия сотрудника и разряд.
2. Выдать информацию о сотрудниках первого разряда.


Сам код, собственно рабочий не получается переделать под своё задание:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
#include <string.h>
main()
{
struct fak
{int n;
char p[16];
};
struct fak a[3];
struct fak b[3];
struct fak x;
 
int c,i,j;
FILE *pf;
pf=fopen("new1.txt","w");
 
for (i=0;i<3;i++)
{
printf("Vvedite Kafedry\n");
scanf("%s",&a[i].p);
fprintf(pf,"%s\t",a[i].p);
printf("Srednyi stag\n");
scanf("%d",&a[i].n);
fprintf(pf,"%d\n",a[i].n);
}
 
fclose(pf);
 
pf=fopen("new1.txt","r");
rewind(pf);
 
for (i=0;i<3;i++)
{
fscan(pf,"%s\t %d",&b[i].p,&b[i].n);
}
 
for (i=0;i<3;i++)
for (j=0;j<3-1;j++)
if (b[j].n>b[j+1].n)
{
x=b[j];
b[j]=b[j+1];
b[j+1]=x;
}
printf("informacia o kafedrax:\n");
for (i=0;i<3;i++)
if (b[i].n>=5)
{
printf("%s\t %d\n",b[i].p,b[i].n);
}
fclose(pf);
}
Собственно программа рабочая, но содержит:
1. Файл содержит сведения о сотрудниках кафедры, каждая запись которого содержит поля: фамилия сотрудника и должность.
А выводит:
2. Выдать информацию об ассистентах кафедры
===========================
А нужно:
1. Файл содержит сведения о квалификации сотрудников, каждая запись которого содержит поля: фамилия сотрудника и разряд.
2. Выдать информацию о сотрудниках первого разряда
===========================

Задание №3 Запись.

Описать запись с именем Note, содержащую следующие поля:
• Фамилия, имя;
• номер телефона;
• день рождения (массив из трёх чисел);
2.Написать программу, выполняющую следующие действия:
• Ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Note; записи должны быть размещены по алфавиту;
Вывод на экран информации о людях , чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры; если таких нет, вывести на экран соответствующее сообщение

Сам код. Тоже рабочий (в последнем принте не всё выведено) то требует немного доработки в плане правильного вывода информации (по заданию).
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <stdio.h>
main()
{
struct note
{
int n,a[3];
char p[30];
};
  struct note c;
  struct note x[3];
  int x1,j,i,z;
 
for(i=0;i<3;i++);
{
puts("Vvedite imya i famiLiuy\n);
scanf ("%s",&x[i].p);
 
puts("Vvedite nomer telefon\n");
scanf ("%d",&x[i].n);
 
puts("Vvedite daty месяц ГОД рождения\n");
scanf("%d %d %d",&x[i].a[0],&x[i].a[1],&x[i].a[2]);
}
// cortiroBka
for (j=0;j<3;j++)
for (i=0;i<3;i++)
if (x[i].a[2]>x[i+1].a[2])
for (i=0;i<3-1;i++)
if (x[i].a[2]>x[i+1].a[2])
{
c=x[i];
x[i]=x[i+1];
x[i+1]=c;
}
//Vvod zapisi
for (i=0;i<3;i++)
printf("qp_u_I %s Homer telefona %d g %d m%d r%d\n", x[i].p, x[i].p,x[i].n,x[i].a[0],x[i].a[1],x[i].a[2]"\n);
 
//Poisk
 
printf("Vvedite Homer telefona\n");
scanf("%d",&z);
 
j=0;[J
 
for (i=0;i<3;i++)
{
x1=x[i].n;
if (z==x1)
{
printf ("qp_u_U %s Homer telefona %d g %d m%d r%d \n",x[i].p,x[i].n") // [SIZE="5"]здесь не всё выведено [/SIZE]
j++;
break;
}
}
f (j==0)
puts("TAkoBo 4eloveka net");
}
Эта программа сейчас выполняет задание:
1. Описать запись с именем Note, содержащую следующие поля:
• Фамилия, имя;
• номер телефона;
• день рождения (массив из трёх чисел);
2. Написать программу, выполняющую следующие действия:
• Ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Note; записи должны быть упорядочены по датам дней рождений;
• Вывод на экран информации о человеке, номер телефона которого введен с клавиатуры; если таких нет, вывести на экран соответствующее сообщение
=========
а нужно собственно как написано по заданию выше
=========

Жду вашей помощи господа!)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2013, 19:36
Ответы с готовыми решениями:

Напечатать все слова, содержащие ровно две маленькие латинские буквы
Здравствуйте, есть пример решения данной задачи: #include &lt;stdio.h&gt; #include &lt;ctype.h&gt; #define...

В символьной строке удалить все слова, содержащие две подряд идущие гласные буквы
Здравствуйте, помогите пожалуйста напрсать программу, сам вообще ноль :( Условие: В символьной...

Вывести слова строки, содержащие определенные буквы
Вывести все слова , содержащие буквы которые входят в слово &quot;файл&quot;. Подскажите как их найти их и...

Дана строка. Известно, что она содержит ровно две одинаковые буквы. Найдите эти буквы
Дана строка. Известно, что она содержит ровно две одинаковые буквы. Найдите эти буквы....

2
DimanDGR
26.02.2013, 20:26 2
ещё немного и сам сделаю)
Диссидент
Эксперт C
27709 / 17325 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
26.02.2013, 20:42 3
Цитата Сообщение от DimanDGR Посмотреть сообщение
ещё немного и сам сделаю)
Замечательно! Значит какой-то прок от форума есть.
0
26.02.2013, 20:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2013, 20:42
Помогаю со студенческими работами здесь

Дана строка символов. Найти и вывести все слова, содержащие более двух букв «a»
Задание-&gt; Дана строка символов. Найти и вывести все слова, содержащие более двух букв «a»....

Найти слова содержащие две рядом стоящие одинаковые буквы
Напечатать все слова, содержащие две рядом стоящие одинаковые буквы.

Выделить из предложения слова, содержащие две или более одинаковые буквы
Выделить из предложения слова, содержащие две или более одинаковые буквы. #include &lt;string.h&gt;...

Вывести на экран слова, содержащие три буквы
Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru