merody Опубликовано 14 января, 2014 Жалоба Поделиться Опубликовано 14 января, 2014 merody #include <iostream>#include <cstdlib>#include <cstring>using namespace std;int main(){char str[1000],*w,c,r[]="\n\t ,.!?\r"; int k=0;cout<<"Enter text:\n"; cin.getline(str,1000);cout<<"Enter letter:\n"; c=cin.get();w=strtok(str,r); while(w){if(w[strlen(w)-1]==c)k++; w=strtok(0,r);}cout<<"words '..."<<c<<"': "; cout<<k<<endl; cin.get();cout<<"Press Enter for exit\n"; cin.get();} Тут рассчитано на текст с латинскими буквами. С русскими в C++ бывают сложности. Огромное спасибо :3 Ссылка на комментарий Поделиться на другие сайты Поделиться
PushStark Опубликовано 2 марта, 2014 Жалоба Поделиться Опубликовано 2 марта, 2014 Приветствую! Будьте добры, подскажите, как решить данную задачу в Pascal. Дана строка символов. Группы символов, разделенные пробелами и не содержащие пробелов внутри себя, будем называть словами. Найти и вывести на экран все слова, начинающееся с буквы ‘А’. Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 2 марта, 2014 Жалоба Поделиться Опубликовано 2 марта, 2014 var s:string; i,j:integer;beginreadln(s); s:=' '+s+' '; writeln;for i:=2 to length(s) do begin if(s[i-1]=' ')and(s[i]<>' ')then j:=i; if((s[j]='A')or(s[j]='a'))and(s[i]=' ')and(s[i-1]<>' ') then writeln(copy(s,j,i-j)); end;write('Press Enter for exit'); readlnend. Тут у меня принято, что A - английская, но может быть и маленькой a. Легко при необходимости подкорректировать для только заглавной или (и) русских букв 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
PushStark Опубликовано 10 марта, 2014 Жалоба Поделиться Опубликовано 10 марта, 2014 Здравствуйте! Будьте добры, помогите с решением. Pascal. Ссылка на комментарий Поделиться на другие сайты Поделиться
PushStark Опубликовано 10 марта, 2014 Жалоба Поделиться Опубликовано 10 марта, 2014 Здравствуйте! Будьте добры, помогите с решением. Pascal. Задание. 1. Составить алгоритм решения задачи и написать программу, которая его реализует. 2. Написать функцию и модернизировать программу. 3. Заменить функцию процедурой и вновь изменить программу. В результате должно получиться три программы, В выводах, в числе прочего, обязательно объяснить какие изменения понадобилось внести в каждую программу и ответить на вопрос: «Какой вид подпрограмм лучше всего использовать для решения Вашей задачи и почему?» Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 11 марта, 2014 Жалоба Поделиться Опубликовано 11 марта, 2014 (изменено) PushStark 1) var a,b,d,x,y:real; i:integer;beginwrite('Введите a b delta: '); readln(a,b,d); x:=a;writeln(' X Y');repeatif x<=-6 then y:=-1/(x-5)else if x<0 then y:=sin(3*x)/xelse y:=cos(x*x*x)/(x*x+2*x+3);writeln(x:12:5,y:12:5); x:=x+duntil x>b;writeln('Для выхода нажмите Enter'); readlnend. 2) var a,b,d,x:real; i:integer;function y(x:real):real; begin if x<=-6 then y:=-1/(x-5) else if x<0 then y:=sin(3*x)/x else y:=cos(x*x*x)/(x*x+2*x+3) end;beginwrite('Введите a b delta: '); readln(a,b,d); x:=a;writeln(' X Y');repeat writeln(x:12:5,y(x):12:5); x:=x+d until x>b;writeln('Для выхода нажмите Enter'); readlnend. 3) var a,b,d,x,y:real; i:integer;procedure p(x:real; var y:real); begin if x<=-6 then y:=-1/(x-5) else if x<0 then y:=sin(3*x)/x else y:=cos(x*x*x)/(x*x+2*x+3) end;beginwrite('Введите a b delta: '); readln(a,b,d); x:=a;writeln(' X Y');repeat p(x,y); writeln(x:12:5,y:12:5); x:=x+d until x>b;writeln('Для выхода нажмите Enter'); readlnend. Первое алгебраическое выражение в пределах области его применимости легко упрощается, что и сделано в тексте программы. Не совсем ясно также, что означает cos(x)³. В программе принято, что это cos(x³), что больше соответствует общепринятому способу записи. Возможен также вариант, что имелось в виду cos³(x), но при кодировании был принят первый вариант. Для такой простейшей программы в несколько строк никакая функция или процедура не нужна: без них программа получается короче и обозримее, а быстродействие выше. Если же использовать подпрограмму, то лучше функция, так как подпрограмма должна выдавать только одно значение, а также без вреда для ясности можно сэкономить одну переменную.Подпрограммы следует использовать в тех случаях, когда подпрограмма вызывается в нескольких местах программы или же программа достаточно велика, чтобы для лучшей читаемости выделять ее отдельные блоки в самостоятельные части с тем, чтобы текст каждого блока и программы в целом помещался на одной странице. Однако в соответствии с заданием первая программа была написана без использования нестандартных подпрограмм, во второй вычисление математической функции было оформлено в виде отдельной функции, а в третьей - в виде процедуры, с внесением в текст основной программы их вызовов. Изменено 11 марта, 2014 пользователем Тролль 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
FunProg Опубликовано 14 марта, 2014 Жалоба Поделиться Опубликовано 14 марта, 2014 Привет всем) Хотела попросить помощи с программированием в языке С. Строго надо использовать Функцию (рекурсию и массивы). Вот задания: 1. Напишите рекурсивную программу, которая будет проверять правильно ли скобки вложены. Ваша программа будет читать строку из стандартного ввода (вы можете предположить, что это не более 256 символов) и печатать на стандартный вывод 1, если все скобки правильно подобранны, или 0 в противном случае. Попробуйте написать свою программу по модульному принципу, то есть используйте функцию. Пример: Ввод ()(()){([()])} ((()(()){([()])})) )(()){([()])} ({[])} ( Empty String Ответ: 1 1 0 0 0 1 2. Напишите рекурсивную программу, которая будет считывать входную строку из стандартного ввода и проверить, если это палиндром или нет. Если введен палиндром ваша программа выводит 1, в противном случае он будет печатать 0. Вы можете считать, что длина входной строки не превосходит 256 символов. Напишите программу по модульному принципу, то есть функции использования. Вот некоторые входы выборки и соответствующие выходы (обратите внимание на символы могут быть как верхний и нижний регистр или смешанный случай): Пример: Ввод Civic live not on evil Hello 123321 a Вывод: 1 1 0 1 1 3. Напишите программу, которая вычисляет простые арифметические выражения, которые содержат только + и - операции. Ваша программа будет считывать данные с входного файла с именем input.txt. Формат файла выглядит следующим образом: N - это количество строк в файл d1 ± d2 ± ... ± дм. - Выражение с m чисел, что заканчивается на "." Выход программы будет N чисел (по одному в строке), где каждое число является значение соответствующего алгебраического выражения. Вот пример входного файла и соответствующего выхода. Ввод: 3 23+11-10-1. 1+2+3+4+5. 0+0+0+0+0+1+0+0+0+0. Ответ: 23 15 1 4. Ваша программа считывает строку из файла с именем input.txt. Длина строки не превосходит 200 символов. Ваша программа должна заменить все TAB символы одним символом пробела, и заменить все двойные пробелы одним символом пробела. Вы не можете использовать функции из string.h библиотеки. Ваша программа будет печатать новую строку в стандартный вывод (копия оригинала без вкладок и двойные пробелы). Пример: Ввод: qwer adf dfasdf adf Вывод qwer adf dfasdf adf 5. Ваша программа читает входную строку из файла с именем input.txt. Длина строки не превосходит 256. Удалите все слова из строки, которые содержат цифры. Распечатайте полученную строку на консоль. Пример входного файла с соответствующего выхода: Пример: Ввод: adsf lkw3er kl324df 9kjldf lkjsd lj11111fw 938434 sdfj kljdssf2 dfd Вывод: adsf lkjsd sdfj dfd Заранее спасибо за отведенное для меня время) Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 14 марта, 2014 Жалоба Поделиться Опубликовано 14 марта, 2014 (изменено) Номер 5 #include <stdio.h>#include <string.h>void f(char *str, char *s){ char *p=" ,.-:;",*q="0123456789",*pc; *s=0; pc=strtok(str,p); while(pc){if(!strpbrk(pc,q))strcat(s,pc),strcat(s," "); pc=strtok(0,p);}}int main(){char str[257],s[257]; FILE *fp;if((fp=fopen("input.txt","r"))==NULL){printf("\nNo file \n"); getchar(); return 1;}fgets(str,257,fp); f(str,s); printf("%s\nPress Enter for exit\n",s); getchar(); return 0;} Номер 4 #include <stdio.h>void f(char *str){ int i,j,k; for(i=0;str[i];i++)if(str[i]=='/t')str[i]=' '; if(*str==0)return; do{k=0; for(i=1;str[i];i++)if(str[i-1]==' '&&str[i]==' ') for(j=i,k++;str[i];i++)str[i]=str[i+1];} while(k);}int main(){char str[201]; FILE *fp;if((fp=fopen("input.txt","r"))==NULL){printf("\nNo file \n"); getchar(); return 1;}fgets(str,201,fp); f(str); printf("%s\nPress Enter for exit\n",str); getchar(); return 0;} Номер 3 #include <stdio.h>#include <string.h>int f(char *str){ char *p=str; int t,s=0; while(p)sscanf(p,"%d",&t),p=strpbrk(++p," +-"),s+=t; return s;}int main(){char str[256]; FILE *fp; int n;if((fp=fopen("input.txt","r"))==NULL){printf("\nNo file \n"); getchar(); return 1;}fscanf(fp,"%d",&n); fgets(str,256,fp); while(n--)fgets(str,256,fp),printf("%d\n",f(str)) ;printf("\nPress Enter for exit\n"); getchar(); return 0;} Изменено 15 марта, 2014 пользователем Тролль 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
FunProg Опубликовано 15 марта, 2014 Жалоба Поделиться Опубликовано 15 марта, 2014 Капееееец :trampoline: Спасибо, Троль блин, слов нет, тебя отблагодарить))) спасибо большое большое большое)))) Ссылка на комментарий Поделиться на другие сайты Поделиться
PushStark Опубликовано 24 марта, 2014 Жалоба Поделиться Опубликовано 24 марта, 2014 Здравствуйте! Помоги пожалуйста с задачами паскаль. Ссылка на комментарий Поделиться на другие сайты Поделиться
PushStark Опубликовано 24 марта, 2014 Жалоба Поделиться Опубликовано 24 марта, 2014 Последний скриншот, сами задания. Первые два, теория. Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 25 марта, 2014 Жалоба Поделиться Опубликовано 25 марта, 2014 Заполнить массив из N ячеек цифрами из дробной части числа Пи. Найти сумму элементов массива, значение которых не превышает k. const pi='3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865'; var i,k,n,s:integer; a:array[1..100]of byte; begin for i:=1 to 100 do a:=ord(pi[i+2])-ord('0'); write('Количество цифр (<=100): '); readln(n); write('Верхняя граница суммируемых цифр (<=9): '); readln(k); s:=0; for i:=1 to n do if a<=k then s:=s+a; writeln('Сумма = ',s); writeln('Для выхода нажмите Enter'); readln end. Двумерный массив MxN заполнить случайными числами в диапазоне от –50 до 50. Поменять местами строку, в которой находится первый нулевой элемент, и строку, вм которой находится последний нулевой элемент. var i,j,n,m,k,i1,i2:integer; a:array[1..40,1..40]of integer; begin write('Введите через пробел размеры матрицы: '); readln(m,n); i1:=0; i2:=0; randomize; for i:=1 to m do for j:=1 to n do a[i,j]:=-50+random(101); writeln; writeln('Исходная матрица'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:4); writeln end; writeln; for i:=1 to m do for j:=1 to n do if a[i,j]=0 then if i1=0 then i1:=i else i2:=i; if i2<>0 then for j:=1 to n do begin k:=a[i1,j]; a[i1,j]:=a[i2,j]; a[i2,j]:=k end; writeln('Преобразованная матрица'); for i:=1 to m do begin for j:=1 to n do write(a[i,j]:4); writeln end; writeln; writeln('Для выхода нажмите Enter'); readln end. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
mr__brainwash Опубликовано 7 апреля, 2014 Жалоба Поделиться Опубликовано 7 апреля, 2014 Добрый вечер, не могли бы вы помочь с выполнением задания: 1) Input data: seminar page layout.TAsk: It is necessary to turn the layout into HTML page. Code should be cross browser (IE 6+, Firefox 2.5+, Opera 9.5+) and meet W3C specifications. div/css coding style is preferable. Картинка-задание HTML coding task.zip 2) А это задание в архиве JS Test Task.rar, там в ПДФ задание написанно Спасибо за помощь JS Test Task.rar HTML coding task.zip Ссылка на комментарий Поделиться на другие сайты Поделиться
PushStark Опубликовано 8 апреля, 2014 Жалоба Поделиться Опубликовано 8 апреля, 2014 Здравствуйте! Будьте добры, помогите пожалуйста с решением. Вариант 13. Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 9 апреля, 2014 Жалоба Поделиться Опубликовано 9 апреля, 2014 Вариант 13. уточни, т.к. я не вижу вариант №13 Ссылка на комментарий Поделиться на другие сайты Поделиться
FunProg Опубликовано 10 апреля, 2014 Жалоба Поделиться Опубликовано 10 апреля, 2014 Цель этого задания – практика с массивами, входными файлами, функциями, структурами, указателями и динамическим распределением памяти в языке С. Задание: У вас есть файл с именем data.txt, который содержит 100 записей. Каждая запись имеет следующую структуру: Название данных Тип данных Значение данных id int Номер студентческого идентификатора name char* имя пользователя surname char* фамилия пользователя country char страна пользователя town char город пользователя birthday day int День рождение birthday month int месяц рождения birthday year int Город рождения university char* название университета department char* название отдела в униврситете year of graduation int Год выпуска quantity of friends int количество друзей quantity of likes int Количество likes ids of friends int Номер идентификатора друзей Задачи: 1. Создать структуру, которая называется location и имеет поля country и city. 2. Создать структуру, которая называется date и имеет поля day, month, year. 3. Создать структуру, которая называется education и имеет поля education, department, graduationYear. 4. Создать структуру, которая называется user, имеющий поля id, name, surname, lос, bday, edu, numFriends, numLikes. 5. Читает информацию из файла data.txt и сохраняет ее на массив указателей к структуре типа данных user, чтобы в памяти вы получили: Примечание 1: для всех типов указателей вы должны использовать динамическое выделение памяти. Всегда проверяйте значение, возвращенное malloc. Примечание 2: ваш список пользователей должен быть указатель, и вы должны динамически использовать память на 100 пользователей. // Возвращает возраст пользователя в годы int userAge(user *u) { return 0; } // Выводит всю информацию о пользователе в следующем формате: //ID: идентификационный номер //Name: имя пользователя //Surname: фамилия пользователя //Location: страна, город //Birthday: день/месяц/год //Education: университет, кафедра, год выпуска //# Friends: число друзей //# Likes: число like (‘нравится') void printUser(user* u) { return; } / / Выводит информацию о всех пользователях, разделенных символом новой строки. void printUsers(user *users){ return; } / / Возвращаеn первого пользователя, чей возраст составляет от age1 до age2 (включительно) / / Вернуть NULL, если такой пользователь не существует. user* searchByAge(user *users, int age1, int age2){ return NULL; } / / Вернуть пользователя с идентификатором или NULL, если пользователь не найден. user* searchByAge(user *users, int id){ return NULL; } // Вернуть первого пользователя с заданным именем или NULL, если пользователь не найден. user* searchByName(user *users, char *name){ return NULL; } / / Печатать все имена друзей пользователя void printFriendNames(user *u){ return; } Ссылка на комментарий Поделиться на другие сайты Поделиться
FunProg Опубликовано 10 апреля, 2014 Жалоба Поделиться Опубликовано 10 апреля, 2014 Здравстуйте)))пожалуйста помоги с домашкой :)очень прошу :) Ссылка на комментарий Поделиться на другие сайты Поделиться
PushStark Опубликовано 10 апреля, 2014 Жалоба Поделиться Опубликовано 10 апреля, 2014 Вариант 13. уточни, т.к. я не вижу вариант №13Уточняю, там варианты от 1 до 30. Вариант 13 т.е. тип массива символьный, метод сортировки - прямого выбора. Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 10 апреля, 2014 Жалоба Поделиться Опубликовано 10 апреля, 2014 @PushStark, я не помогаю решать, просто увидел ошибку в написании поста. Так что жди ответ от тех кто обычно помогает в решении. Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 10 апреля, 2014 Жалоба Поделиться Опубликовано 10 апреля, 2014 (изменено) PushStark, program sort13; type ta=array[1..100]of char;procedure sort(var a:ta; n:integer); var i,j,min:integer; t:char; begin for i:=1 to n-1 do begin min:=i; for j:=i+1 to n do if a[min]>a[j] then min:=j; t:=a[i]; a[i]:=a[min]; a[min]:=t; end; end;procedure output(var a:ta; n:integer); var i:integer; begin for i:=1 to n do write(a[i]); writeln end;var a:ta; n,i:integer;beginwrite('N (1<=N<=100): '); readln(n); randomize;for i:=1 to n do a[i]:=chr(65+random(26));writeln; output(a,n); writeln; sort(a,n); output(a,n); writeln;writeln('Press Enter for exit'); readlnend. Изменено 10 апреля, 2014 пользователем Тролль 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Riki_Tiki_Tavi Опубликовано 14 апреля, 2014 Жалоба Поделиться Опубликовано 14 апреля, 2014 Всем привет! Нужна помощь, есть документ(.doc), его нужно перевести в формат Latex. Я с этим редактором не дружу, но очень нужно. Пожалуйста помогите. Повідомлення.doc Повідомлення.doc Ссылка на комментарий Поделиться на другие сайты Поделиться
DJFlint Опубликовано 15 апреля, 2014 Жалоба Поделиться Опубликовано 15 апреля, 2014 http://www.grindeq.com/index.php?p=word2latex Повідомлення.rar Повідомлення.rar 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Атин Опубликовано 22 апреля, 2014 Жалоба Поделиться Опубликовано 22 апреля, 2014 Помогите, пожалуйста, доделать задачу и понять в чем проблема. Дана матрица размера m х n, нужно найти седловые точки матрицы, вывести их значения и индексы + найти верхнюю и нижнюю цену игры. Вроде работает, но неправильно, выдает числа, которых в матрице нет.Матрица А имеет седловую точку Аij, если Аij является минимальным элементом в i – той строке и максимальным в j – том столбце.Нижняя цена игры = maxi minj aijВерхняя цена игры = minj maxi aij unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Menus, ComCtrls, Buttons;type TForm1 = class(TForm) strngrd1: TStringGrid; btn1: TButton; Button1: TButton; Memo2: TMemo; Memo1: TMemo; Edit1: TEdit; Edit2: TEdit; UpDown1: TUpDown; UpDown2: TUpDown; Button2: TButton; Label1: TLabel; Label2: TLabel; procedure btn1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure N1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;const n=30;implementation{$R *.dfm}procedure TForm1.btn1Click(Sender: TObject);var a: array[0..n-1,0..n-1] of integer; l_1: array[0..n-1] of integer; {переменная массива минимальных элементов в i-ой строке} l_2: array[0..n-1] of integer; {переменная массива максимальных элементов в j-ом столбце} ii,jj,i,j,l_i,l_j: integer; min,max,m,k,l1,l2: integer;begin Memo1.Clear; Memo2.Clear; for i:=0 to n-1 do for j:=0 to n-1 do a[i,j]:=StrToInt(strngrd1.Cells[i,j]); for i:=0 to n-1 do begin m:=a[i,0]; for j:=1 to n-1 do if a[i,j]<m then m:=a[i,j]; l_1[i]:=m; end; l1:=l_1[0]; l_i:=0; for i:=1 to n-1 do if l_1[i]>l1 then begin l1:=l_1[i]; l_i:=i; end; Memo1.Lines.Add('l1 = '+floattostr(l1)); for j:=0 to n-1 do begin k:=a[0,j]; for i:=1 to n-1 do if a[i,j]>m then k:=a[i,j]; l_2[j]:=k; end; l2:=l_2[0]; l_j:=0; for i:=1 to n-1 do if l_2[i]<l2 then begin l2:=l_2[i]; l_j:=j; end; Memo1.Lines.Add('l2 = '+floattostr(l2)); Memo2.Lines.add('Ответ:'); if l1=l2 then memo2.Lines.add('Седловые точки найдены:') else memo2.Lines.add('Седловой точки нет'); for i:=0 to n-1 do for j:=0 to n-1 do begin min:=a[i,0]; for jj:=1 to n-1 do if a[i,jj]<min then min:=a[i,jj]; max:=a[0,j]; for ii:=1 to n-1 do if a[ii,j]>max then max:=a[ii,j]; if (min=a[i,j]) and (max=a[i,j]) then memo2.lines.Add(floattostr(l1)+' = ['+floattostr(i+1)+','+floattostr(j+1)+']'); end;end;procedure TForm1.Button1Click(Sender: TObject);var z,zz:Integer;beginRandomize;For z:=0 to 100 do for zz:=0 to 100 dostrngrd1.Cells[z,zz]:=FloatToStr(Random(10)-4);end;procedure TForm1.FormCreate(Sender: TObject);begin Memo1.Text:=''; Memo2.Text:='';end;procedure TForm1.N1Click(Sender: TObject);begin Form1.Close;end;procedure TForm1.Button2Click(Sender: TObject);var g: Integer;begin Memo1.Clear; Memo2.Clear; strngrd1.ColCount:=StrToInt(Edit2.Text); strngrd1.RowCount:=StrToInt(Edit1.Text); For g:=0 to strngrd1.ColCount-1 do strngrd1.Cols[g].Clear;end;end. Ссылка на комментарий Поделиться на другие сайты Поделиться
Атин Опубликовано 22 апреля, 2014 Жалоба Поделиться Опубликовано 22 апреля, 2014 К вышенаписанному Лаба 1 - копия.rar Лаба 1 - копия.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
Teddy_Bear Опубликовано 22 апреля, 2014 Жалоба Поделиться Опубликовано 22 апреля, 2014 (изменено) Получилось так: Лаба1.rar Только у меня статичный массив 5х5 Лаба1.rar Изменено 22 апреля, 2014 пользователем Teddy_Bear Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти